2022/06/03

2022-06-03 00:00:47 +0200Guest58(~Guest58@modemcable048.16-160-184.mc.videotron.ca)
2022-06-03 00:01:51 +0200 <Guest58> [(3,2),(17,2),(50,3),(64,3)]  how can i group this list by second element of tuples
2022-06-03 00:01:51 +0200 <Guest58> to get something like : [ [(3,2),(17,2)], [(50,3),(64,3)] ]
2022-06-03 00:02:28 +0200 <monochrom> Take a look at groupBy in Data.List
2022-06-03 00:02:44 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Ping timeout: 255 seconds)
2022-06-03 00:04:24 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-06-03 00:05:20 +0200acidjnk(~acidjnk@p200300d0c7068b39d8af4d6b4faedbc4.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-06-03 00:05:37 +0200Guest58(~Guest58@modemcable048.16-160-184.mc.videotron.ca) (Client Quit)
2022-06-03 00:05:47 +0200Guest58(~Guest58@modemcable048.16-160-184.mc.videotron.ca)
2022-06-03 00:16:29 +0200kenaryn(~aurele@89-88-44-27.abo.bbox.fr)
2022-06-03 00:17:52 +0200chomwitt(~chomwitt@2a02:587:dc0e:3e00:bc0d:a683:e7e9:901) (Ping timeout: 244 seconds)
2022-06-03 00:19:56 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 244 seconds)
2022-06-03 00:20:17 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 255 seconds)
2022-06-03 00:26:05 +0200vicfred(~vicfred@user/vicfred)
2022-06-03 00:27:37 +0200pavonia(~user@user/siracusa)
2022-06-03 00:29:59 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 00:31:59 +0200dextaa(~DV@user/dextaa) (Ping timeout: 255 seconds)
2022-06-03 00:33:17 +0200perrierjouet(~perrier-j@62.182.99.39)
2022-06-03 00:38:43 +0200dextaa(~DV@user/dextaa)
2022-06-03 00:42:20 +0200spacenautx(~spacenaut@user/spacenautx) (Quit: WeeChat 3.0)
2022-06-03 00:43:39 +0200 <Guest58> Back to my question :
2022-06-03 00:43:39 +0200 <Guest58> [(3,2),(17,2),(50,3),(64,3)]  how can i group this list by second element of tuples
2022-06-03 00:43:40 +0200 <Guest58> to get something like : [ [(3,2),(17,2)], [(50,3),(64,3)] ]
2022-06-03 00:43:54 +0200 <Guest58> I tried this function :
2022-06-03 00:43:54 +0200 <Guest58>     grouperElem :: [(Int,Int)] -> [[(Int,Int)]]
2022-06-03 00:43:55 +0200 <Guest58>     grouperElem myList = groupBy (\x y -> snd x == snd y) myList
2022-06-03 00:44:37 +0200 <Guest58> and i read the Data.list.groupBy documentation, can someone show me where the error is ?
2022-06-03 00:51:24 +0200 <dsal> :t groupBy
2022-06-03 00:51:26 +0200 <lambdabot> (a -> a -> Bool) -> [a] -> [[a]]
2022-06-03 00:52:21 +0200 <monochrom> > groupBy (\x y -> snd x == snd y) [(3,2),(17,2),(50,3),(64,3)] 
2022-06-03 00:52:25 +0200 <lambdabot> [[(3,2),(17,2)],[(50,3),(64,3)]]
2022-06-03 00:52:32 +0200 <monochrom> worksforme
2022-06-03 00:56:29 +0200indiana-bones(~indignant@23.27.44.157)
2022-06-03 00:56:37 +0200 <Guest58> > groupBy (\x y -> snd x == snd y) [(3,2),(17,2),(50,3),(64,3)]
2022-06-03 00:56:40 +0200 <lambdabot> [[(3,2),(17,2)],[(50,3),(64,3)]]
2022-06-03 00:56:52 +0200 <Guest58> that'as weird it doesn't work on my ghci terminal
2022-06-03 00:57:05 +0200 <Guest58> by the way thank you so much for the help
2022-06-03 00:58:08 +0200 <Guest58> is the problem comes from the import ?
2022-06-03 00:59:34 +0200 <geekosaur> what error do you get in your ghci?
2022-06-03 00:59:46 +0200 <Guest58> it works now i added the import Data.Listà
2022-06-03 00:59:55 +0200 <Guest58> import Data.List*
2022-06-03 01:00:27 +0200 <Guest58> the error was :
2022-06-03 01:00:28 +0200vysn(~vysn@user/vysn)
2022-06-03 01:00:28 +0200 <Guest58> <interactive>:3:1: error:
2022-06-03 01:00:28 +0200 <Guest58>     Variable not in scope:
2022-06-03 01:00:29 +0200 <Guest58>       groupBy :: ((a0, a2) -> (a1, a2) -> Bool) -> [(a3, b0)] -> t
2022-06-03 01:00:41 +0200 <Guest58> but when i added  import Data.List
2022-06-03 01:00:46 +0200 <Guest58> it works perfectly
2022-06-03 01:01:29 +0200king_gs(~Thunderbi@2806:103e:29:ce73:832b:2b9c:b188:29da) (Quit: king_gs)
2022-06-03 01:06:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 01:08:10 +0200 <elvishjerricco> I remember a few years ago someone managed to make a parallelized parser *mostly in Haskell* by writing a bit of C code that used vector instructions to basically parse an individual chunk as though the state machine had started in all possible states. IIRC they were demonstrating a simplified version of a paper that used.... AVX 512 (maybe?) to parse something much more complicated in the same way
2022-06-03 01:08:32 +0200 <elvishjerricco> Anyone happen to have a link to the post about this? I can't seem to find it
2022-06-03 01:08:35 +0200zeenk(~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) (Quit: Konversation terminated!)
2022-06-03 01:12:21 +0200 <dolio> I don't have a link, but that sounds like something edwardk would do.
2022-06-03 01:13:42 +0200 <elvishjerricco> It does but I *don't think* it was him
2022-06-03 01:14:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 01:21:35 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-06-03 01:22:17 +0200justsomeguy(~justsomeg@user/justsomeguy) (Client Quit)
2022-06-03 01:22:27 +0200vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-06-03 01:22:34 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-06-03 01:36:42 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 01:38:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 01:38:35 +0200alp(~alp@user/alp) (Ping timeout: 255 seconds)
2022-06-03 01:46:34 +0200holmes(~holmes@user/holmes)
2022-06-03 01:46:47 +0200mokee(~mokee@37.228.215.148) (Remote host closed the connection)
2022-06-03 01:47:26 +0200 <jean-paul[m]> I read "function application has the highest precedence". But what precedence is that? Is it 10? 100? Is it a value not expressable as an Int / Integer / Num which is just greater than any Int / Integer / Num?
2022-06-03 01:47:38 +0200 <Bulby[m]> 0-9. so 9
2022-06-03 01:47:51 +0200 <jean-paul[m]> Aha
2022-06-03 01:48:13 +0200 <geekosaur> actually, if you extend the precedence system to cover it then function application is 10 and record update syntax is 11
2022-06-03 01:48:17 +0200 <Bulby[m]> altho function application (spaces right?) may be special in that it's even higher
2022-06-03 01:48:20 +0200Guest13(~Guest13@136.56.140.2)
2022-06-03 01:48:58 +0200 <jean-paul[m]> Oho
2022-06-03 01:49:48 +0200 <Guest13> Why is `&` infixl 1 rather than infixr 1? `y & x & f` seems more useful than `y & f & g`...
2022-06-03 01:49:49 +0200 <jean-paul[m]> So this explains why `foo . bar x` is `foo . (bar x)` and not `(foo . bar) x` right?
2022-06-03 01:50:07 +0200 <geekosaur> jean-paul[m], yes
2022-06-03 01:50:11 +0200 <Bulby[m]> i don't understand associativity enough to understand that
2022-06-03 01:50:59 +0200 <hpc> Guest13: as in (f x y) rather than f (g x)?
2022-06-03 01:51:11 +0200 <hpc> Guest13: same reason we like (.) over ($)
2022-06-03 01:51:12 +0200 <Guest13> hpc: exactly.
2022-06-03 01:51:18 +0200 <hpc> function composition is the way
2022-06-03 01:51:36 +0200 <Guest13> But `&` is application, not composition.
2022-06-03 01:52:25 +0200 <Guest13> If you want reverse function composition, you need to use `>>>` or `<&>`.
2022-06-03 01:54:40 +0200 <hpc> hmm, maybe to mimic F#?
2022-06-03 01:56:17 +0200Tuplanolla(~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) (Quit: Leaving.)
2022-06-03 01:56:18 +0200 <Guest13> Wonder if there's still room for a tightly binding, single character reverse application operator.
2022-06-03 01:56:42 +0200 <Bulby[m]> good luck finding one on a normal keyboard
2022-06-03 01:57:09 +0200 <Guest13> Eh, I do most of my Haskell programming on my phone anyway...
2022-06-03 01:57:20 +0200 <Bulby[m]> 😟
2022-06-03 01:57:55 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 02:00:04 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 02:00:59 +0200 <geekosaur> > let x 😛 f = f x; infixr 1 😛 in 2 😛 3 😛 (-)
2022-06-03 02:01:01 +0200 <lambdabot> 1
2022-06-03 02:01:14 +0200 <Bulby[m]> wtf
2022-06-03 02:01:34 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2022-06-03 02:03:04 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 02:03:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 02:03:21 +0200 <Guest58> I want to compare each element of tuple in the lists to a constant number depending on the second element of tuple:
2022-06-03 02:03:21 +0200 <Guest58> For exemple : [ [(3,2),(17,2)] , [(50,3),(64,3)] ]
2022-06-03 02:03:22 +0200 <Guest58> if the second element of tuple is 2 so i compare with 15.
2022-06-03 02:03:22 +0200 <Guest58> if the second element of tuple is 3 so i compare with 30.
2022-06-03 02:03:23 +0200 <Guest58> The expected result is [[TRUE, FALSE], [FALSE, FALSE]].
2022-06-03 02:03:23 +0200 <Guest58> What changes i have to make on my function so it gives me the good result ?
2022-06-03 02:03:24 +0200 <Guest58> comparAttente :: [[(Int,Int)]] -> [[Bool]]
2022-06-03 02:03:24 +0200 <Guest58>     comparAttente [[(a,b)]] | b == 2 && a > priorite2 = [[False]]
2022-06-03 02:03:25 +0200 <Guest58>                             | b == 3 && a > priorite3 = [[False]]
2022-06-03 02:04:36 +0200 <dsal> Get rid of some of those [], I think.
2022-06-03 02:04:52 +0200 <dsal> And also get rid of Bool.
2022-06-03 02:04:59 +0200 <Guest13> geekosaur: Obviously we need a strict version too.
2022-06-03 02:05:44 +0200 <dsal> Guest13: this is a huge XY problem, though. You seem to have a solution to a problem that doesn't make a lot of sense and I'm trying to imagine what your problem is.
2022-06-03 02:05:45 +0200 <Guest13> > let (🤑) !x f = f x; infixr 1 🤑 in 2 🤑 3 🤑 (*)
2022-06-03 02:05:48 +0200 <lambdabot> 6
2022-06-03 02:06:24 +0200 <Guest13> :t (🤑)
2022-06-03 02:06:26 +0200 <lambdabot> error: Variable not in scope: 🤑
2022-06-03 02:06:49 +0200 <geekosaur> @let (🤑) !x f = f x; infixr 1 🤑
2022-06-03 02:06:51 +0200 <lambdabot> Defined.
2022-06-03 02:07:01 +0200 <geekosaur> :t (🤑)
2022-06-03 02:07:03 +0200 <lambdabot> t1 -> (t1 -> t2) -> t2
2022-06-03 02:07:13 +0200 <dsal> Super cool that my irc client decides to make emojis out of most of these code snippets.
2022-06-03 02:07:17 +0200 <Guest13> Oh, right, can't use levity polymorphism because it uses seq.
2022-06-03 02:07:51 +0200 <geekosaur> dsal, they are emojis :)
2022-06-03 02:08:00 +0200 <geekosaur> perfectly valid Symbol characters
2022-06-03 02:08:11 +0200 <dsal> Ooh. Haha. I was just digging through settings.
2022-06-03 02:08:50 +0200 <dsal> My message to Guest13 was meant for Guest58
2022-06-03 02:09:00 +0200 <Guest58> dsal I'm going to need it later, because I'm going to count the number of True and divide it by the number of booleans in my list, so I don't want to merge everything
2022-06-03 02:09:17 +0200 <geekosaur> Guest13 mentioned they did most of their programming on their phone, and if there's one thing it's easy to type on a modern smartphone it's an emoji
2022-06-03 02:09:27 +0200 <geekosaur> whoile new class of operators there for the taking
2022-06-03 02:09:51 +0200 <Guest13> let (🍻) x = x
2022-06-03 02:09:54 +0200 <dsal> Guest58: I'm not sure what you're doing, but `Bool` isn't usually the right answer.
2022-06-03 02:09:57 +0200 <Guest13> > let (🍻) x = x
2022-06-03 02:09:59 +0200 <lambdabot> <no location info>: error: not an expression: ‘let (🍻) x = x’
2022-06-03 02:10:18 +0200 <dsal> Guest58: e.g., based on your description, I'd just use a semigroup and do all those things in one pass.
2022-06-03 02:10:24 +0200 <Guest13> Is there a way to set PostfixOperators in lambdabot?
2022-06-03 02:10:31 +0200 <geekosaur> Guest13, lambdabot's "> " only supports expressions. use @let for definitions
2022-06-03 02:11:00 +0200 <Guest13> @let (🍻) x = x
2022-06-03 02:11:02 +0200 <lambdabot> Defined.
2022-06-03 02:11:10 +0200 <Guest13> :t (🍻)
2022-06-03 02:11:11 +0200 <lambdabot> p -> p
2022-06-03 02:11:42 +0200 <Guest13> geekosaur: Thanks.
2022-06-03 02:12:07 +0200 <geekosaur> @let {-# LANGUAGE PostfixOperators #-}
2022-06-03 02:12:08 +0200 <lambdabot> Defined.
2022-06-03 02:13:09 +0200 <Guest13> Speaking of PostfixOperators, with all the SimplifiedSubsumption rigamarole, should we all be putting it on by default to improve eta equivalence?
2022-06-03 02:13:46 +0200Guest17(~Guest17@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 252 seconds)
2022-06-03 02:15:24 +0200 <jackdk> https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/10… search "PEYTON JONES"
2022-06-03 02:15:57 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-06-03 02:16:10 +0200 <monochrom> OMG OBE
2022-06-03 02:19:26 +0200 <Guest13> That's pretty cool if you're into monarchy.
2022-06-03 02:20:04 +0200 <Guest13> I mean, not as cool as the 'Professor' title he already had but cool.
2022-06-03 02:20:17 +0200azimut_(~azimut@gateway/tor-sasl/azimut)
2022-06-03 02:20:34 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2022-06-03 02:22:49 +0200 <monochrom> I'm pretty sure republics such as France have completely equivalent hierarchies of medals and officers and commanders.
2022-06-03 02:23:35 +0200 <monochrom> I heard of one Colonel Sanders who was made a Colonel of the US for his successful food business.
2022-06-03 02:24:42 +0200 <Guest13> > True
2022-06-03 02:24:45 +0200 <lambdabot> True
2022-06-03 02:31:03 +0200vorpuni(~pvorp@2001:861:3881:c690:a8fb:3878:c020:66f7) (Remote host closed the connection)
2022-06-03 02:31:48 +0200maroloccio(~marolocci@109.107.115.46)
2022-06-03 02:31:52 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-06-03 02:32:23 +0200 <jackdk> Regardless of one's feelings about the monarchy, it's very cool that a CS educator has been given a high civilian honour.
2022-06-03 02:38:28 +0200 <EvanR> you have to excuse Guest13 they are visiting from the 18th century
2022-06-03 02:42:57 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 276 seconds)
2022-06-03 02:43:15 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp)
2022-06-03 02:43:46 +0200jinsun__(~jinsun@user/jinsun)
2022-06-03 02:44:30 +0200jinsun(~jinsun@user/jinsun) (Ping timeout: 246 seconds)
2022-06-03 02:46:37 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
2022-06-03 02:47:24 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-06-03 02:48:58 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-03 02:49:34 +0200 <Guest13> > True
2022-06-03 02:49:36 +0200 <lambdabot> True
2022-06-03 02:50:10 +0200 <Bulby[m]> um, how can I make a monadic action strict
2022-06-03 02:50:44 +0200 <monochrom> In that rich context, "strict" is ambiguous.
2022-06-03 02:50:48 +0200 <Bulby[m]> i'm currently using `=<<` which is lazy
2022-06-03 02:51:15 +0200 <geekosaur> whether >>= or its reversal is strict or lazy is up to the monad
2022-06-03 02:51:22 +0200Guest13(~Guest13@136.56.140.2) (Quit: Back to the eighteenth century)
2022-06-03 02:51:26 +0200 <geekosaur> and you usually can't change it
2022-06-03 02:51:38 +0200 <Bulby[m]> ...
2022-06-03 02:52:41 +0200 <dsal> Do you have a specific problem you're trying to solve for which you think the solution involves answering your question?
2022-06-03 02:52:54 +0200 <Bulby[m]> https://paste.tomsmeding.com/V0CZJ6xm
2022-06-03 02:52:58 +0200 <Bulby[m]> closure shenanagins
2022-06-03 02:53:04 +0200Chai-T-Rex(~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds)
2022-06-03 02:53:12 +0200 <Bulby[m]> the `get @LxEnv` is a closure
2022-06-03 02:54:10 +0200 <dsal> You mean you want that to be whnf?
2022-06-03 02:54:18 +0200 <Bulby[m]> and because it's haskell I assumed it was immutable, but it still produces a bug (at the end of the first section)
2022-06-03 02:54:41 +0200 <Bulby[m]> https://craftinginterpreters.com/resolving-and-binding.html
2022-06-03 02:54:42 +0200 <Bulby[m]> yes, WHNF
2022-06-03 02:54:56 +0200 <dsal> Wait, so lazy and immutable don't seem to be antonyms. I might be misunderstanding a lot here, though.
2022-06-03 02:55:23 +0200 <Bulby[m]> they aren't, but the issue was described in the book as stemming from mutability
2022-06-03 02:55:28 +0200Chai-T-Rex(~ChaiTRex@user/chaitrex)
2022-06-03 02:55:54 +0200 <Bulby[m]> oh, I have an idea, and i will be very mad if it's correct
2022-06-03 02:56:17 +0200 <dsal> I'm mad regardless of correctness.
2022-06-03 02:56:25 +0200 <Bulby[m]> wym
2022-06-03 02:56:29 +0200 <dsal> We're all mad here.
2022-06-03 02:56:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-06-03 02:58:48 +0200 <Bulby[m]> oh this is becoming a mess
2022-06-03 02:58:58 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-03 02:59:53 +0200 <Bulby[m]> this probably needs do notation to fix (in a not insane way)
2022-06-03 03:00:40 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com)
2022-06-03 03:02:06 +0200 <dsal> I'll sometimes use do notation when I don't feel smart doing something simple that's not working. It's nice having a different notation to try to express the same problem.
2022-06-03 03:02:40 +0200 <EvanR> sounds like you're still on step 1 understand the problem
2022-06-03 03:03:13 +0200 <Bulby[m]> i think I am starting to understand, I am failing to switch to the closure
2022-06-03 03:04:31 +0200gurkenglas(~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
2022-06-03 03:04:46 +0200 <jackdk> EvanR: Polya was wise.
2022-06-03 03:07:54 +0200Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
2022-06-03 03:08:35 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 255 seconds)
2022-06-03 03:09:29 +0200 <Bulby[m]> https://paste.tomsmeding.com/ImAxcMd4
2022-06-03 03:09:33 +0200 <Bulby[m]> 🥳
2022-06-03 03:09:41 +0200 <Bulby[m]> i fixed it
2022-06-03 03:10:56 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-06-03 03:11:55 +0200 <Bulby[m]> now I don't have to do scope analysis
2022-06-03 03:17:10 +0200 <Bulby[m]> altho I have no idea how to support recursive functions now
2022-06-03 03:19:39 +0200 <EvanR> recursion, the goto of functional programming
2022-06-03 03:20:51 +0200 <monochrom> lambda, the ultimate goto
2022-06-03 03:21:01 +0200 <monochrom> (actual paper title)
2022-06-03 03:21:54 +0200 <Bulby[m]> how am I supposed to define a sane closure that includes it's own name?
2022-06-03 03:22:18 +0200 <Bulby[m]> i have a function type `LoxFunction :: _ _ Env`
2022-06-03 03:22:21 +0200 <geekosaur> there's always fix. look, ma, no names!
2022-06-03 03:22:59 +0200 <monochrom> "zs = 0 : zs" on steroid
2022-06-03 03:23:16 +0200 <monochrom> I used to teach students how to make that cyclic self-referencing closure.
2022-06-03 03:23:38 +0200 <Bulby[m]> i'm talking about parsing 🙂
2022-06-03 03:23:55 +0200 <Bulby[m]> interpreting, rather
2022-06-03 03:24:35 +0200 <monochrom> It didn't go too well. I now follow Essentials of Programming Languages and use the interpreter's own recursion instead.
2022-06-03 03:26:00 +0200 <monochrom> Am I not talking about interpreting?
2022-06-03 03:26:16 +0200 <Bulby[m]> i can't tell
2022-06-03 03:26:39 +0200 <monochrom> You could have asked.
2022-06-03 03:28:10 +0200 <EvanR> if your interpreter was implemented as a graph, then you could implement cyclic reference with... a cycle
2022-06-03 03:28:40 +0200 <Bulby[m]> i think it's more like a tree
2022-06-03 03:28:49 +0200nate3(~nate@98.45.169.16)
2022-06-03 03:28:55 +0200 <EvanR> that... seems problematic then xD
2022-06-03 03:30:06 +0200 <monochrom> I now teach the Unix file system by starting with "approximately a tree". Because by the end you know that there are deviations left right and centre.
2022-06-03 03:30:56 +0200 <EvanR> myths... useful myths
2022-06-03 03:30:58 +0200 <monochrom> But no one would call "tree" wrong there. In many local scopes you do have a tree.
2022-06-03 03:31:32 +0200gurkenglas(~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 255 seconds)
2022-06-03 03:32:11 +0200 <EvanR> the poor OS programmer knows the truth
2022-06-03 03:32:14 +0200 <monochrom> Very much the same way we have a flat linear address model of memory (even disk), we have Newtonian gravity, we say that a[i] takes O(1) time.
2022-06-03 03:33:20 +0200 <EvanR> I was recently told that the dictionary structure available in (whatever language) was O(1)
2022-06-03 03:33:53 +0200 <EvanR> I suddenly didn't know if I didn't know anything
2022-06-03 03:34:07 +0200nate3(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-06-03 03:34:41 +0200 <monochrom> At some point an old joke about car salespersons vs computer salespersons applies.
2022-06-03 03:35:06 +0200 <monochrom> "What's the difference between them? Answer: the car salesperson knows they're lying."
2022-06-03 03:35:58 +0200 <monochrom> You can have two people making that O(1)-time claim, and one of them know it's a simplification, and the other actually believe in it.
2022-06-03 03:37:26 +0200moonsheep(~user@user/moonsheep) (ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-06-03 03:38:02 +0200 <EvanR> a hash function is O(1). followed by an array lookup O(1). followed by a linked list, which shouldn't grow too big in practice, O(1). Adds up to O(1) right
2022-06-03 03:38:16 +0200 <Bulby[m]> 😄
2022-06-03 03:38:57 +0200 <EvanR> talk about leak abstractions
2022-06-03 03:38:58 +0200 <EvanR> leaky
2022-06-03 03:41:38 +0200 <Bulby[m]> we've talked about this before - what is something that can only do pure called? pointed?
2022-06-03 03:41:57 +0200 <jackdk> yes, but you can't really define sensible laws for it on its own IIRC
2022-06-03 03:42:23 +0200nahcetan(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-06-03 03:43:24 +0200stackdroid18(14094@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-06-03 03:46:07 +0200pottsy(~pottsy@129.227.183.244)
2022-06-03 03:46:31 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-06-03 03:48:32 +0200Sgeo(~Sgeo@user/sgeo)
2022-06-03 03:49:15 +0200Kaiepi(~Kaiepi@156.34.47.253) (Ping timeout: 246 seconds)
2022-06-03 03:51:47 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-943a-e90b-acbe-4f74.res6.spectrum.com) (Ping timeout: 255 seconds)
2022-06-03 03:52:59 +0200andrey__(~andrey@p200300dbcf0c6600f65a5485c0e2d33f.dip0.t-ipconnect.de)
2022-06-03 03:53:00 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-943a-e90b-acbe-4f74.res6.spectrum.com) (Ping timeout: 260 seconds)
2022-06-03 03:55:50 +0200andrey_(~andrey@p200300dbcf13c9006e615432230a2497.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2022-06-03 03:58:19 +0200xff0x(~xff0x@s5.HtokyoFL1.vectant.ne.jp)
2022-06-03 03:59:49 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-06-03 04:05:43 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 04:06:06 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 04:09:11 +0200maroloccio(~marolocci@109.107.115.46) (Quit: WeeChat 3.0)
2022-06-03 04:17:16 +0200kenaryn(~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving)
2022-06-03 04:25:18 +0200td_(~td@muedsl-82-207-238-179.citykom.de) (Ping timeout: 246 seconds)
2022-06-03 04:25:31 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 258 seconds)
2022-06-03 04:25:44 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 272 seconds)
2022-06-03 04:27:09 +0200td_(~td@muedsl-82-207-238-121.citykom.de)
2022-06-03 04:28:58 +0200nate3(~nate@98.45.169.16)
2022-06-03 04:31:05 +0200 <Bulby[m]> god, writing an interpreter for a procedural language has caused polysemy State/Error/Fail vomit
2022-06-03 04:34:05 +0200nate3(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-06-03 04:34:39 +0200 <Bulby[m]> maybe a bytecode generator would be more sane and allow me to write in rust for the interpreting
2022-06-03 04:35:20 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Remote host closed the connection)
2022-06-03 04:37:31 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 04:37:50 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 04:40:22 +0200holmes(~holmes@user/holmes) (Quit: holmes)
2022-06-03 04:40:23 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 255 seconds)
2022-06-03 04:48:32 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca) (Ping timeout: 272 seconds)
2022-06-03 04:48:37 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-06-03 04:48:39 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-06-03 04:54:24 +0200 <Guest58> how to print a function that return a floating number ?
2022-06-03 04:57:34 +0200littlebo1eep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 04:58:47 +0200 <dsal> Guest58: You can't print functions in general.
2022-06-03 04:58:51 +0200 <Guest58> > printf "%s, %d, %.4f" "hello" 123 pi
2022-06-03 04:58:53 +0200 <lambdabot> error:
2022-06-03 04:58:53 +0200 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M994368985285...
2022-06-03 04:58:54 +0200 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2022-06-03 05:01:33 +0200forell(~forell@user/forell)
2022-06-03 05:01:53 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 05:02:35 +0200 <EvanR> > printf "%s, %d, %.4f" "hello" 123 pi :: String
2022-06-03 05:02:37 +0200 <lambdabot> "hello, 123, 3.1416"
2022-06-03 05:03:27 +0200 <EvanR> printf's type is ambiguous without context
2022-06-03 05:03:34 +0200 <EvanR> (moreso than usual)
2022-06-03 05:04:37 +0200Guest72(~Guest72@240e:341:3834:600:c40c:924c:6b2a:838f)
2022-06-03 05:07:22 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 250 seconds)
2022-06-03 05:07:23 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 255 seconds)
2022-06-03 05:08:50 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-06-03 05:12:44 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-06-03 05:13:52 +0200 <Guest58> EvanR actaully a have a function that return IO() and i want to concatenate the output of thsi function with a string
2022-06-03 05:14:13 +0200 <Guest58> is the (+++) a solution ?
2022-06-03 05:19:05 +0200mvk(~mvk@2607:fea8:5ce3:8500::ba9a) (Ping timeout: 255 seconds)
2022-06-03 05:19:44 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 05:20:15 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 05:20:57 +0200 <dsal> :t fmap (<>)
2022-06-03 05:20:58 +0200 <lambdabot> (Functor f, Semigroup a) => f a -> f (a -> a)
2022-06-03 05:21:33 +0200 <dsal> Actually, that doesn't make sense. If the function returns `IO ()` then it returns an action that will produce unit, so there's no string to concatenate.
2022-06-03 05:24:05 +0200 <Guest58> i have this two functions :
2022-06-03 05:24:05 +0200 <Guest58> firstRule :: String -> IO ()
2022-06-03 05:24:06 +0200 <Guest58> algoTriage ::Int -> String -> Double
2022-06-03 05:24:06 +0200 <Guest58> And i want a function to print the result of these two functions.
2022-06-03 05:24:07 +0200 <Guest58> what i do :
2022-06-03 05:24:07 +0200 <Guest58> printResult :: Int -> String -> String
2022-06-03 05:24:08 +0200 <Guest58> printResult a chaine = printf "%s, %.4f" getContents premiereRegle chaine algoTriage a chaine :: String
2022-06-03 05:24:17 +0200 <Guest58> is this correct ? please can someone help
2022-06-03 05:24:41 +0200 <Guest58> premiereRegle is firstRule, i forget to change it
2022-06-03 05:25:31 +0200 <dsal> Guest58: the result of the first function is an action that will produce `()` -- your question doesn't quite make sense.
2022-06-03 05:27:08 +0200 <Cale> Guest58: It seems like you've got a lot of arguments to printf there, are you sure that's what you meant?
2022-06-03 05:27:58 +0200 <Guest58> printResult :: Int -> String -> String
2022-06-03 05:27:58 +0200 <Guest58> printResult a chaine = printf "%s, %.4f" (firstRule chaine) (algoTriage a chaine :: String)
2022-06-03 05:28:11 +0200 <Guest58> i made some parentheses so it can be more clear
2022-06-03 05:28:22 +0200 <Cale> That means something completely different
2022-06-03 05:28:25 +0200 <dsal> Note that the parens change the meaning entirely.
2022-06-03 05:28:40 +0200 <dsal> But also, you can't just declare a Double to be a String like that.
2022-06-03 05:28:51 +0200 <dsal> Again, it's not clear what your goal is because the thing you're saying doesn't make any sense.
2022-06-03 05:29:07 +0200 <Cale> and also, there's no way to show the IO action firstRule chaine
2022-06-03 05:29:16 +0200 <dsal> Break it into smaller parts. You said you want to print the result of `firstRule` which takes an argument and returns `IO ()` -- what, exactly, are you hoping to print there?
2022-06-03 05:29:45 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2022-06-03 05:31:48 +0200 <Guest58> the function that returns IO().
2022-06-03 05:31:49 +0200 <Guest58> When I run it it returns a list:
2022-06-03 05:31:49 +0200 <Guest58> Example :
2022-06-03 05:31:50 +0200 <Guest58> 4568 2
2022-06-03 05:31:50 +0200 <Guest58> 6987 3
2022-06-03 05:31:51 +0200 <Guest58> 3214 7
2022-06-03 05:31:51 +0200 <Guest58> 3658 1
2022-06-03 05:31:52 +0200 <Guest58> The second function returns a double:
2022-06-03 05:31:52 +0200 <Guest58> Example:
2022-06-03 05:31:53 +0200 <Guest58> 0.98754647856
2022-06-03 05:31:53 +0200 <Guest58> All I want is to concatenate the two functions to have something:
2022-06-03 05:31:54 +0200 <Guest58> 4568 2
2022-06-03 05:31:54 +0200 <Guest58> 6987 3
2022-06-03 05:31:55 +0200 <Guest58> 3214 7
2022-06-03 05:31:55 +0200 <Guest58> 3658 1
2022-06-03 05:31:56 +0200 <Guest58> --------
2022-06-03 05:31:56 +0200 <Guest58> 0.98754647856
2022-06-03 05:32:37 +0200nahcetan(~nate@98.45.169.16)
2022-06-03 05:32:45 +0200 <energizer> is it ever useful to define a function with a parameter of type bottom?
2022-06-03 05:33:07 +0200 <Guest58> I hope this is more clear if not I can try to ask the question
2022-06-03 05:33:19 +0200 <dsal> Guest58: It's not returning that.
2022-06-03 05:33:24 +0200 <dsal> It's emitting it as a side effect.
2022-06-03 05:33:37 +0200 <dsal> It sounds like that's not what you want it to do.
2022-06-03 05:34:43 +0200 <dsal> The first one should presumably return `[SomePairOfNumbers]` and you should have a function `SomePairOfNumbers -> String` and then you can worry about IO later.
2022-06-03 05:35:05 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 260 seconds)
2022-06-03 05:36:36 +0200 <Guest58> This is the function thats been used in firstRule see it returns an IO()display :: [(Int, Int, Int)] -> IO ()
2022-06-03 05:36:37 +0200 <Guest58> display = mapM_ (\(a,b,c) -> putStrLn (show a++" "++show b++" "++show c))
2022-06-03 05:36:45 +0200 <jackdk> energizer: by "type bottom" do you mean an uninhabited type?
2022-06-03 05:36:50 +0200 <energizer> jackdk: yes
2022-06-03 05:37:02 +0200 <Guest58> display :: [(Int, Int, Int)] -> IO ()
2022-06-03 05:37:03 +0200 <Guest58> display = mapM_ (\(a,b,c) -> putStrLn (show a++" "++show b++" "++show c))
2022-06-03 05:37:10 +0200 <dsal> Guest58: Yes. Don't do that. It appears to be not what you want at all.
2022-06-03 05:37:15 +0200 <jackdk> energizer: consider the function of type `Either Void a -> a`
2022-06-03 05:37:50 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2022-06-03 05:37:57 +0200 <jackdk> energizer: I used this with a lib "run a DB transaction wot might fail", but if it can't fail, then we can say its error type is `Void` and escape the `Either1
2022-06-03 05:38:26 +0200nahcetan(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-06-03 05:38:53 +0200 <dsal> Guest58: Otherwise, you've got `premiereRegle chaine *> print (algoTriage a chaine)`
2022-06-03 05:41:14 +0200 <energizer> jackdk: i see
2022-06-03 05:42:40 +0200 <Guest58> dsal thanks
2022-06-03 05:42:48 +0200indiana-bones(~indignant@23.27.44.157) (Quit: Leaving)
2022-06-03 05:46:13 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Read error: Connection reset by peer)
2022-06-03 05:48:03 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-06-03 05:50:14 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 05:50:17 +0200mvk(~mvk@2607:fea8:5ce3:8500::ba9a)
2022-06-03 05:51:30 +0200motherfsck(~motherfsc@user/motherfsck)
2022-06-03 05:55:33 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-06-03 05:56:16 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-06-03 05:56:55 +0200fluxit(~fluxit@techsmix.net)
2022-06-03 06:02:59 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-06-03 06:05:06 +0200 <Guest58> dsal i made some changes in my function so now it return a [String]
2022-06-03 06:05:06 +0200 <Guest58> display' :: [(Int, Int, Int)] -> [String]
2022-06-03 06:05:07 +0200 <Guest58> ["1 43525 5","2 7455 3","3 25545 7"]
2022-06-03 06:05:18 +0200 <Guest58> is there a way to display the string line by line
2022-06-03 06:05:31 +0200 <dsal> :t traverse_ putStrLn
2022-06-03 06:05:33 +0200 <lambdabot> Foldable t => t String -> IO ()
2022-06-03 06:05:51 +0200 <dsal> But you can also add your other messages to that.
2022-06-03 06:05:59 +0200 <Guest58> but traverse return an IO
2022-06-03 06:06:00 +0200 <dsal> :t putStrLn . fmap unlines
2022-06-03 06:06:01 +0200 <lambdabot> error:
2022-06-03 06:06:01 +0200 <lambdabot> • Couldn't match type ‘[Char]’ with ‘Char’
2022-06-03 06:06:02 +0200 <lambdabot> Expected type: [[String]] -> String
2022-06-03 06:06:03 +0200 <Guest58> so i can't use it
2022-06-03 06:06:09 +0200 <dsal> If you want to print something, you're going to need IO
2022-06-03 06:06:34 +0200 <dsal> That's a different part of your program, though. One part computes stuff and another part deals with IO.
2022-06-03 06:07:13 +0200 <Guest58> okeey i see thanks
2022-06-03 06:07:23 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-06-03 06:08:53 +0200nahcetan(~nate@98.45.169.16)
2022-06-03 06:15:03 +0200dsrt^(~dsrt@128-092-173-218.biz.spectrum.com)
2022-06-03 06:21:34 +0200pottsy(~pottsy@129.227.183.244) (Ping timeout: 265 seconds)
2022-06-03 06:22:33 +0200pottsy(~pottsy@129.227.183.244)
2022-06-03 06:22:34 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-06-03 06:25:03 +0200Infinite(~Infinite@49.39.116.10)
2022-06-03 06:25:22 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 250 seconds)
2022-06-03 06:25:48 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 250 seconds)
2022-06-03 06:38:17 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 06:39:26 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 06:48:27 +0200acidjnk(~acidjnk@p200300d0c7068b541d0d8c43393e2baa.dip0.t-ipconnect.de)
2022-06-03 07:02:23 +0200russruss(~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat)
2022-06-03 07:04:32 +0200russruss(~russruss@my.russellmcc.com)
2022-06-03 07:05:08 +0200mbuf(~Shakthi@136.185.67.112)
2022-06-03 07:05:52 +0200Guest72(~Guest72@240e:341:3834:600:c40c:924c:6b2a:838f) (Quit: Client closed)
2022-06-03 07:09:39 +0200acidjnk(~acidjnk@p200300d0c7068b541d0d8c43393e2baa.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2022-06-03 07:15:50 +0200nahcetan(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-06-03 07:16:59 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-06-03 07:17:40 +0200chomwitt(~chomwitt@2a02:587:dc0e:3e00:8d09:3de9:107a:d1d4)
2022-06-03 07:19:00 +0200jakalx(~jakalx@base.jakalx.net)
2022-06-03 07:26:12 +0200odnes(~odnes@5-203-147-232.pat.nym.cosmote.net)
2022-06-03 07:34:11 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-06-03 07:34:50 +0200bilegeek(~bilegeek@2600:1008:b04d:98d6:c648:4dbb:39b5:27a6)
2022-06-03 07:35:39 +0200zaquest(~notzaques@5.130.79.72)
2022-06-03 07:39:10 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-06-03 07:39:27 +0200img(~img@user/img)
2022-06-03 07:40:50 +0200mvk(~mvk@2607:fea8:5ce3:8500::ba9a) (Ping timeout: 255 seconds)
2022-06-03 07:42:26 +0200Qudit(~user@user/Qudit)
2022-06-03 07:47:05 +0200Guest58(~Guest58@modemcable048.16-160-184.mc.videotron.ca) (Quit: Client closed)
2022-06-03 08:00:06 +0200nahcetan(~nate@98.45.169.16)
2022-06-03 08:04:03 +0200Kaiepi(~Kaiepi@156.34.47.253) (Ping timeout: 276 seconds)
2022-06-03 08:04:24 +0200nahcetan(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2022-06-03 08:04:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 08:05:06 +0200vysn(~vysn@user/vysn)
2022-06-03 08:11:59 +0200kuribas(~user@ptr-17d51epjxsvdsap3t84.18120a2.ip6.access.telenet.be)
2022-06-03 08:15:25 +0200coot(~coot@213.134.190.95)
2022-06-03 08:16:19 +0200trillp(~trillp@104.238.146.219)
2022-06-03 08:24:28 +0200Qudit(~user@user/Qudit) (Remote host closed the connection)
2022-06-03 08:25:19 +0200michalz(~michalz@185.246.204.101)
2022-06-03 08:27:44 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-06-03 08:30:29 +0200nate3(~nate@98.45.169.16)
2022-06-03 08:34:12 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-06-03 08:35:12 +0200nate3(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2022-06-03 08:37:07 +0200`2jt(~jtomas@182.red-88-17-61.dynamicip.rima-tde.net)
2022-06-03 08:45:47 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-06-03 08:46:58 +0200califax(~califax@user/califx)
2022-06-03 08:55:11 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-06-03 09:07:46 +0200chele(~chele@user/chele)
2022-06-03 09:12:28 +0200mbuf(~Shakthi@136.185.67.112) (Quit: Leaving)
2022-06-03 09:17:14 +0200vpan(~0@212.117.1.172)
2022-06-03 09:23:13 +0200gehmehgeh(~user@user/gehmehgeh)
2022-06-03 09:28:13 +0200Qudit(~user@user/Qudit)
2022-06-03 09:29:36 +0200Pickchea(~private@user/pickchea)
2022-06-03 09:30:32 +0200tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
2022-06-03 09:30:52 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-06-03 09:31:08 +0200shriekingnoise(~shrieking@201.231.16.156) (Quit: Quit)
2022-06-03 09:32:21 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-06-03 09:35:23 +0200tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
2022-06-03 09:37:52 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5)
2022-06-03 09:39:04 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-06-03 09:43:27 +0200perrierjouet(~perrier-j@62.182.99.39) (Ping timeout: 246 seconds)
2022-06-03 09:47:32 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-06-03 09:48:06 +0200machinedgod(~machinedg@24.105.81.50)
2022-06-03 09:53:04 +0200FurorColere
2022-06-03 09:58:08 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net)
2022-06-03 09:58:48 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-06-03 10:00:40 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
2022-06-03 10:01:01 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2022-06-03 10:08:43 +0200Qudit(~user@user/Qudit) (Remote host closed the connection)
2022-06-03 10:09:08 +0200fluxit(~fluxit@techsmix.net) (Quit: Bye!)
2022-06-03 10:09:46 +0200fluxit(~fluxit@techsmix.net)
2022-06-03 10:09:58 +0200Qudit(~user@user/Qudit)
2022-06-03 10:10:59 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-03 10:11:31 +0200coot(~coot@213.134.190.95)
2022-06-03 10:13:50 +0200bilegeek(~bilegeek@2600:1008:b04d:98d6:c648:4dbb:39b5:27a6) (Ping timeout: 255 seconds)
2022-06-03 10:16:26 +0200alp(~alp@user/alp)
2022-06-03 10:30:39 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-06-03 10:30:45 +0200bilegeek(~bilegeek@2600:1008:b015:fe62:945b:c76f:8130:b04c)
2022-06-03 10:34:54 +0200vpan(~0@212.117.1.172) (Ping timeout: 246 seconds)
2022-06-03 10:39:39 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 258 seconds)
2022-06-03 10:58:50 +0200dsrt^(~dsrt@128-092-173-218.biz.spectrum.com) (Ping timeout: 255 seconds)
2022-06-03 11:00:29 +0200odnes_(~odnes@5-203-147-232.pat.nym.cosmote.net)
2022-06-03 11:00:44 +0200odnes(~odnes@5-203-147-232.pat.nym.cosmote.net) (Read error: Connection reset by peer)
2022-06-03 11:03:33 +0200ubert(~Thunderbi@2a02:8109:abc0:6434:61f4:5b76:26c2:daca)
2022-06-03 11:07:24 +0200causal(~user@50.35.83.177) (Quit: WeeChat 3.5)
2022-06-03 11:13:51 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Remote host closed the connection)
2022-06-03 11:14:44 +0200bilegeek(~bilegeek@2600:1008:b015:fe62:945b:c76f:8130:b04c) (Quit: Leaving)
2022-06-03 11:18:10 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 244 seconds)
2022-06-03 11:30:38 +0200`2jt(~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) (Ping timeout: 258 seconds)
2022-06-03 11:49:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-06-03 11:52:49 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-03 12:00:07 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-06-03 12:02:11 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2022-06-03 12:07:43 +0200__monty__(~toonn@user/toonn)
2022-06-03 12:08:24 +0200gurkenglas(~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
2022-06-03 12:09:37 +0200pottsy(~pottsy@129.227.183.244) (Quit: Leaving)
2022-06-03 12:14:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 12:18:11 +0200vpan(~0@212.117.1.172)
2022-06-03 12:18:12 +0200nahcetan(~nate@98.45.169.16)
2022-06-03 12:18:22 +0200gehmehgeh(~user@user/gehmehgeh)
2022-06-03 12:18:56 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Ping timeout: 255 seconds)
2022-06-03 12:25:51 +0200nahcetan(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2022-06-03 12:31:05 +0200xff0x(~xff0x@s5.HtokyoFL1.vectant.ne.jp) (Ping timeout: 256 seconds)
2022-06-03 12:32:00 +0200nate3(~nate@98.45.169.16)
2022-06-03 12:33:05 +0200 <vpan> hi, I got
2022-06-03 12:33:05 +0200 <vpan> > cabal: Failed to build hedgehog-1.0.5 (which is required by test:iplookup-test from hid-examples-0.5 and exe:ipgen from hid-examples-0.5). The build process terminated with exit code -6
2022-06-03 12:33:05 +0200 <vpan> but I did not find exit code values in the user guide. Even more strange is that the error is not reproducible - I reran `cabal build` without any changes and hedgehog-1.0.5 was built successfully. Is it "normal" to have such non-repeatable build errors?
2022-06-03 12:33:07 +0200 <lambdabot> error: Variable not in scope: cabalerror:
2022-06-03 12:33:07 +0200 <lambdabot> • Data constructor not in scope:
2022-06-03 12:33:07 +0200 <lambdabot> Failed
2022-06-03 12:34:36 +0200 <geekosaur> it's not normal, no. and the real error should have preceded that, although possibly you would need to dig out the build log to find it (I would classify that as a bug though)
2022-06-03 12:36:30 +0200 <vpan> ok, at least that's not considered normal. :) I'll try to resist developing the habit to rerun after a build failure to make sure it does not go away automagically
2022-06-03 12:36:42 +0200nate3(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2022-06-03 12:38:18 +0200 <geekosaur> I think we'd like to figure out why it failed so we can try to fix it
2022-06-03 12:38:23 +0200 <vpan> I used cabal 3.0.0 and GHC 8.8.4 for the build, I suppose a potentially useful bug report would have to be made against the latest versions?
2022-06-03 12:38:28 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 250 seconds)
2022-06-03 12:38:53 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 12:39:31 +0200 <geekosaur> I know cabal builds stuff in parallel and, while Haskell related stuff is normally resistant, it's very common for parallel builds to lead to crashes due to undeclared dependency issues or etc. such that a restart just happens to make things happen in the right order the secodn time
2022-06-03 12:40:37 +0200 <vpan> right, I intuitively suspected something of that nature as the error seemed non-deterministic
2022-06-03 12:44:56 +0200kuribas(~user@ptr-17d51epjxsvdsap3t84.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2022-06-03 12:46:11 +0200 <geekosaur> and yes, you'd want to reproduce this with latest versions. note that cabal-3.8.1.0-rc1 was released yesterday (https://discourse.haskell.org/t/cabal-3-8-pre-released/4631)
2022-06-03 12:46:30 +0200 <geekosaur> I'd test against that rather than 3.6.2.0
2022-06-03 12:52:41 +0200vpan(~0@212.117.1.172) (Read error: Connection reset by peer)
2022-06-03 12:53:56 +0200vpan(~0@212.117.1.172)
2022-06-03 13:04:35 +0200`2jt(~jtomas@79.116.75.126)
2022-06-03 13:10:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-06-03 13:18:24 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 13:25:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 13:26:53 +0200`2jt(~jtomas@79.116.75.126) (Ping timeout: 255 seconds)
2022-06-03 13:28:56 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp)
2022-06-03 13:31:05 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 13:31:49 +0200lyle(~lyle@104.246.145.85)
2022-06-03 13:35:26 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Ping timeout: 255 seconds)
2022-06-03 13:37:07 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 13:38:39 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-03 13:41:06 +0200nschoe(~quassel@2a01:e0a:8e:a190:b9b8:93ca:1f99:9d71)
2022-06-03 13:45:53 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-03 13:51:37 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 244 seconds)
2022-06-03 13:52:08 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 250 seconds)
2022-06-03 14:00:18 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-03 14:02:36 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 14:03:53 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-06-03 14:04:31 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 14:05:19 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 14:05:43 +0200AlexNoo_(~AlexNoo@178.34.151.152)
2022-06-03 14:06:50 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Ping timeout: 252 seconds)
2022-06-03 14:07:31 +0200sloorush(~sloorush@52.187.184.81) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2022-06-03 14:07:42 +0200AlexZenon(~alzenon@178.34.150.59) (Ping timeout: 246 seconds)
2022-06-03 14:07:47 +0200sloorush(~sloorush@52.187.184.81)
2022-06-03 14:07:55 +0200sloorush(~sloorush@52.187.184.81) (Remote host closed the connection)
2022-06-03 14:08:17 +0200Alex_test(~al_test@178.34.150.59) (Ping timeout: 255 seconds)
2022-06-03 14:08:30 +0200sloorush(~sloorush@52.187.184.81)
2022-06-03 14:08:53 +0200newhoggy(sid198874@id-198874.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-06-03 14:09:06 +0200AlexNoo(~AlexNoo@178.34.150.59) (Ping timeout: 246 seconds)
2022-06-03 14:09:26 +0200sloorush(~sloorush@52.187.184.81) (Client Quit)
2022-06-03 14:11:32 +0200sloorush(~sloorush@52.187.184.81)
2022-06-03 14:12:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-06-03 14:12:47 +0200AlexZenon(~alzenon@178.34.151.152)
2022-06-03 14:12:54 +0200Alex_test(~al_test@178.34.151.152)
2022-06-03 14:13:03 +0200sloorush(~sloorush@52.187.184.81) (Client Quit)
2022-06-03 14:16:03 +0200sloorush(~sloorush@52.187.184.81)
2022-06-03 14:17:10 +0200sloorush(~sloorush@52.187.184.81) (Client Quit)
2022-06-03 14:18:01 +0200sloorush(~sloorush@52.187.184.81)
2022-06-03 14:18:28 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-06-03 14:21:55 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-06-03 14:25:05 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-06-03 14:26:29 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-06-03 14:33:05 +0200dcleonarski(~user@2804:d51:4704:e400:680:84d0:9355:7c5b)
2022-06-03 14:33:40 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-06-03 14:37:05 +0200raym(~raym@user/raym) (Ping timeout: 255 seconds)
2022-06-03 14:37:43 +0200raym(~raym@user/raym)
2022-06-03 14:43:45 +0200odnes_(~odnes@5-203-147-232.pat.nym.cosmote.net) (Ping timeout: 246 seconds)
2022-06-03 14:56:22 +0200spacenautx(~spacenaut@user/spacenautx)
2022-06-03 15:01:29 +0200 <mesaoptimizer> https://lexi-lambda.github.io/blog/2020/01/19/no-dynamic-type-systems-are-not-inherently-more-open/
2022-06-03 15:02:04 +0200 <mesaoptimizer> I had the exact misconceptions about supposed advantages of dynamic typing, that are debunked in this post
2022-06-03 15:04:34 +0200califax(~califax@user/califx) (Ping timeout: 240 seconds)
2022-06-03 15:04:46 +0200califax(~califax@user/califx)
2022-06-03 15:09:26 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Remote host closed the connection)
2022-06-03 15:09:54 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net)
2022-06-03 15:12:53 +0200fendor(~fendor@178.115.49.232.wireless.dyn.drei.com)
2022-06-03 15:14:04 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-06-03 15:14:59 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-06-03 15:17:47 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds)
2022-06-03 15:18:12 +0200vicfred(~vicfred@user/vicfred)
2022-06-03 15:30:10 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-06-03 15:34:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 15:35:30 +0200zeenk(~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980)
2022-06-03 15:36:04 +0200 <tomsmeding> I have a C file in my haskell project that uses rtsConfig, a symbol from GHC's RTS. ( https://gitlab.haskell.org/ghc/ghc/-/blob/master/rts/include/RtsAPI.h#L123 ) Normally this works quite fine, but if the Haskell code uses a TH splice, I get a link error by ghc saying that 'rtsConfig' is an undefined symbol.
2022-06-03 15:36:32 +0200 <tomsmeding> Presumably this is when linking the TH splice, because the error disappears if I remove the splice (which does not do anything -- $(return [])) from the source
2022-06-03 15:37:01 +0200 <tomsmeding> does anyone happen to know if this is fixable? I don't need my C code to be available in the splice
2022-06-03 15:37:20 +0200 <tomsmeding> so somehow conditionally enabling the .c file only if ghc is _not_ compiling a TH splice would be fine
2022-06-03 15:39:07 +0200nschoe(~quassel@2a01:e0a:8e:a190:b9b8:93ca:1f99:9d71) (Ping timeout: 240 seconds)
2022-06-03 15:39:24 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
2022-06-03 15:45:50 +0200 <jean-paul[m]> When is `22.05pre` going to change to `22.05`? Or am I using the wrong branch or something? If I build with a revision from either nixos-22.05 or release-22.05, I get `22.05pre`.
2022-06-03 15:46:27 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2022-06-03 15:46:29 +0200 <tomsmeding> jean-paul[m]: #nixos ?
2022-06-03 15:49:48 +0200 <jean-paul[m]> yes sorry, wasn't paying attention to where I was
2022-06-03 15:50:11 +0200cheater(~Username@user/cheater)
2022-06-03 15:52:04 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 258 seconds)
2022-06-03 15:52:44 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
2022-06-03 15:53:28 +0200AlexNoo_AlexNoo
2022-06-03 15:55:56 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 16:00:24 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Ping timeout: 250 seconds)
2022-06-03 16:01:16 +0200nschoe(~quassel@2a01:e0a:8e:a190:75f7:546e:234f:6b81)
2022-06-03 16:05:44 +0200Infinite(~Infinite@49.39.116.10) (Ping timeout: 252 seconds)
2022-06-03 16:05:45 +0200coot(~coot@213.134.190.95)
2022-06-03 16:05:55 +0200 <maralorn> What do I do to convert a "Q String" into a "Code Q String"?
2022-06-03 16:06:38 +0200 <tomsmeding> maralorn: that sounds fishy, are you not just looking for (>>=) :: Q a -> (a -> Q b) -> Q b?
2022-06-03 16:08:21 +0200 <maralorn> Note sure.
2022-06-03 16:08:46 +0200 <maralorn> It’s years that I wrote that code. But with newest base it doesn‘t type check anymore.
2022-06-03 16:09:03 +0200 <maralorn> newest template-haskell rather.
2022-06-03 16:09:30 +0200 <tomsmeding> maralorn: maybe share the full error?
2022-06-03 16:10:48 +0200 <maralorn> tomsmeding: https://paste.lossy.network/IU
2022-06-03 16:11:54 +0200 <maralorn> My problem is pretty basic.
2022-06-03 16:12:31 +0200 <maralorn> I have an `IO a`, an `a -> b` and then I want to liftTyped the resulting b
2022-06-03 16:15:21 +0200 <tomsmeding> maralorn: ah, I think the thing is that previously that =<< was in the Q monad, but now liftTyped returns something with type 'Code ...'
2022-06-03 16:15:33 +0200 <tomsmeding> but this makes no sense anyway because Code is not a monad
2022-06-03 16:15:42 +0200 <maralorn> Yep
2022-06-03 16:16:00 +0200 <maralorn> Oh, thats sad.^^
2022-06-03 16:16:57 +0200shriekingnoise(~shrieking@201.231.16.156)
2022-06-03 16:17:09 +0200 <maralorn> Ah, I think I need to apply the lifted to the whole Q now.
2022-06-03 16:17:27 +0200 <tomsmeding> maralorn: use `lift` instead of `liftTyped`, and `unsafeCodeCoerce` the whole thing
2022-06-03 16:18:04 +0200 <maralorn> Well, what’s the point of typed TH then.^^
2022-06-03 16:18:12 +0200 <tomsmeding> `unsafeCodeCoerce (runIO pathBinsAbs >>= lift . mapMaybe ...))`
2022-06-03 16:18:13 +0200 <tomsmeding> maralorn: none
2022-06-03 16:18:22 +0200 <tomsmeding> well, the point of typed TH is give a typed external interface
2022-06-03 16:18:31 +0200 <tomsmeding> within your TH splices you're up to your own devices again
2022-06-03 16:19:32 +0200`2jt(~jtomas@182.red-88-17-61.dynamicip.rima-tde.net)
2022-06-03 16:19:36 +0200 <tomsmeding> maralorn: if you look here you'll see that the definition of liftTyped is mostly just unsafeCodeCoerce.lift anyway https://hackage.haskell.org/package/template-haskell-2.18.0.0/docs/src/Language.Haskell.TH.Syntax.…
2022-06-03 16:21:02 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-06-03 16:24:07 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-06-03 16:26:41 +0200trillp(~trillp@104.238.146.219) (Quit: nyaa~)
2022-06-03 16:27:09 +0200`2jt(~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) (Ping timeout: 276 seconds)
2022-06-03 16:27:18 +0200tomsmedinghas no idea how one is even supposed to use liftTyped; with the given type it looks like it's only usable as $$(liftTyped _)), without _anything_ else
2022-06-03 16:31:35 +0200Sgeo(~Sgeo@user/sgeo)
2022-06-03 16:33:30 +0200nate3(~nate@98.45.169.16)
2022-06-03 16:33:54 +0200odnes(~odnes@5-203-248-246.pat.nym.cosmote.net)
2022-06-03 16:35:21 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-06-03 16:36:02 +0200 <adamCS> When cabal dependency resolution fails because "constraint from user target requires
2022-06-03 16:36:02 +0200 <adamCS> ==...) where do I look to figure out which thing is actually requiring that? I am trying to get 9.2.3 working and so chasing all sorts of bad upper bounds, nearly all mine. But I'm not sure where to look for "user target". It doesn't seem to be from the cabal file of the thing I am building.
2022-06-03 16:36:32 +0200 <maralorn> tomsmeding: Found the solution: `bindCode :: forall m a (r :: RuntimeRep) (b :: TYPE r). Monad m => m a -> (a -> Code m b) -> Code m b`
2022-06-03 16:38:27 +0200nate3(~nate@98.45.169.16) (Ping timeout: 258 seconds)
2022-06-03 16:50:13 +0200slack1256(~slack1256@191.125.227.85)
2022-06-03 16:51:01 +0200 <slack1256> Is there updated documentation on how `cabal-install` resolve the constraints on a package?
2022-06-03 16:51:06 +0200odnes(~odnes@5-203-248-246.pat.nym.cosmote.net) (Ping timeout: 258 seconds)
2022-06-03 16:52:05 +0200 <slack1256> Old docs affirmed that it took in consideration what you had currently installed as reported by `ghc-pkg`. That blogpost is from 2008, maybe things have change? It would be awesome if resolution was deterministic dependending on base version and correct PVP bounds.
2022-06-03 16:55:27 +0200 <c_wraith> it also depends on the current state of the cabal index
2022-06-03 16:55:54 +0200 <c_wraith> (sort of obviously, as that is what stores most of the necessary constraint information)
2022-06-03 16:56:49 +0200vpan(~0@212.117.1.172) (Quit: Leaving.)
2022-06-03 16:56:50 +0200 <c_wraith> what you have currently installed is not considered with v2 build commands
2022-06-03 16:56:59 +0200odnes(~odnes@5-203-248-246.pat.nym.cosmote.net)
2022-06-03 16:57:00 +0200 <slack1256> !!!
2022-06-03 16:57:16 +0200 <c_wraith> also, "currently installed" doesn't mean much of anything with v2 build commands
2022-06-03 16:57:20 +0200 <slack1256> That, what is the most up to date docs on how constraint resolution proceeds on the new/v2 commands?
2022-06-03 16:58:00 +0200 <slack1256> I should have specified that, that I meant under the v2- commands.
2022-06-03 17:00:08 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com)
2022-06-03 17:01:54 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-06-03 17:02:21 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-06-03 17:07:30 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 240 seconds)
2022-06-03 17:08:46 +0200ubert(~Thunderbi@2a02:8109:abc0:6434:61f4:5b76:26c2:daca) (Read error: Connection reset by peer)
2022-06-03 17:08:47 +0200mjrosenb(~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2022-06-03 17:11:21 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds)
2022-06-03 17:12:05 +0200 <adamCS> I figured it out. I was being silly; pulling the package from a git repo rather than hackage and forgot that. The perils of shifting from 8.10.7 to 9.2.3: lot's of weird "allow-newer" and versions from repos...
2022-06-03 17:12:31 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-06-03 17:15:49 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-06-03 17:20:56 +0200mjrosenb(~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net)
2022-06-03 17:22:18 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 17:26:44 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Ping timeout: 255 seconds)
2022-06-03 17:31:13 +0200nahcetan(~nate@98.45.169.16)
2022-06-03 17:31:52 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 17:32:45 +0200 <darkling> I'm trying to write something where the main data structure is a map from strings to either strings or integers (or, ultimately, a few other types, but I'm starting small). As a complete beginner in Haskell, I'm having some trouble streamlining it.
2022-06-03 17:32:56 +0200 <darkling> My current code: https://paste.tomsmeding.com/AZGHmcxr
2022-06-03 17:33:35 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458)
2022-06-03 17:34:26 +0200 <darkling> I was trying to unify updateObjectNumber and updateObjectText, but I haven't been able to write anything that passes the compiler.
2022-06-03 17:35:51 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458) (Remote host closed the connection)
2022-06-03 17:35:54 +0200 <geekosaur> you'll have trouble doing so, I think
2022-06-03 17:36:03 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458)
2022-06-03 17:36:18 +0200ashln(~ashln@98.38.236.123) (Ping timeout: 246 seconds)
2022-06-03 17:36:23 +0200 <darkling> Ah, OK, that would explain why I couldn't manage it. :)
2022-06-03 17:36:53 +0200 <geekosaur> for one, what would you expect that function parameter's type to be?
2022-06-03 17:38:55 +0200 <darkling> Possibly Updater -> String -> ObjectData -> ObjectData, where Updater = Num (Int -> Int) | Text (String -> String)
2022-06-03 17:39:27 +0200 <darkling> but then is there some similarity between Updater and Item that can be expressed in the code?
2022-06-03 17:40:25 +0200 <geekosaur> you can't reuse the constructor names
2022-06-03 17:42:21 +0200ashln(~ashln@98.38.236.123)
2022-06-03 17:44:12 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-06-03 17:45:38 +0200polezaivsani(~polezaivs@orangeshoelaces.net) (Ping timeout: 255 seconds)
2022-06-03 17:45:41 +0200 <darkling> Got it. Is there anything I can do about the unwrap/apply/wrap pattern in the updater functions? Feels like something that a functor would help with, but again, I couldn't find an appropriate form of words to make the compiler (or me) happy.
2022-06-03 17:46:46 +0200 <darkling> Maybe that's inappropriate here (or too advanced for me right now; or just too trivial a case to care)
2022-06-03 17:47:34 +0200 <geekosaur> it can't be a functor
2022-06-03 17:47:37 +0200 <geekosaur> :t fmap
2022-06-03 17:47:38 +0200 <lambdabot> Functor f => (a -> b) -> f a -> f b
2022-06-03 17:47:58 +0200 <[Leary]> If you declare `data Item a b = Num a | Text b`, then `Item` is a Bifunctor and the two cases become `first f` and `second f`. But that won't scale to more constructors.
2022-06-03 17:48:15 +0200 <[Leary]> It might be better just to write your own `mapNum` and `mapText` functions.
2022-06-03 17:48:32 +0200 <geekosaur> yes, this seems like the wrong approach
2022-06-03 17:48:39 +0200 <[Leary]> Currently, those patterns will crash on the wrong constructor.
2022-06-03 17:48:58 +0200chomwitt(~chomwitt@2a02:587:dc0e:3e00:8d09:3de9:107a:d1d4) (Quit: Leaving)
2022-06-03 17:49:11 +0200 <geekosaur> yeh, that caught my eye too. especially since fixing getNumber in particular is trivial
2022-06-03 17:49:28 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-06-03 17:50:34 +0200 <[exa]> darkling: should the updates be able to "switch" the type of your data from String to Int (or the other way) ?
2022-06-03 17:50:46 +0200 <tomsmeding> maralorn: interesting! I wonder why there is no `pureCode`
2022-06-03 17:51:10 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds)
2022-06-03 17:52:28 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca)
2022-06-03 17:53:34 +0200geekosaurwas wondering if the dependent-map package might be helpful here since the examples seem to assume that suchh switching is not possible
2022-06-03 17:53:58 +0200 <geekosaur> flip side, throwing dependent-map at a beginner is not the best of ideas :)
2022-06-03 17:54:04 +0200 <darkling> [exa]: No, a given key will always be the same type
2022-06-03 17:54:20 +0200 <[exa]> darkling: anyway it's quite usual to make the unwrap/wrap functions yourself, but ideally for the base types. In this case I'd go for something like `updateItem :: (Int->Int) -> (String->String) -> Item -> Item` and then expand it
2022-06-03 17:54:55 +0200 <geekosaur> isn't that kind of the Bifunctor approach done manually?
2022-06-03 17:55:00 +0200 <[exa]> notice how you may easily specialize that function to string-only or int-only case, such as `updateItem (+1) id someItem`
2022-06-03 17:55:18 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-06-03 17:55:32 +0200 <slack1256> I think I am loving linear-base. More reasons to not learn rust </s> hahahaha
2022-06-03 17:55:34 +0200 <[exa]> geekosaur: yeah but it was hinted that the stuff would eventually get updated to trifunctors.. :]
2022-06-03 17:56:33 +0200 <darkling> [exa]: So I pattern match on the first Item, and decide which of the two functions to use on it?
2022-06-03 17:57:47 +0200 <[exa]> yes
2022-06-03 17:58:02 +0200 <[exa]> oh wait, first item? that is only for 1 item right?
2022-06-03 17:58:40 +0200 <geekosaur> I think they're going by your type signature which has two (one in, one out)
2022-06-03 17:58:54 +0200 <darkling> Yeah, sorry, that's what I meant.
2022-06-03 17:59:16 +0200 <[exa]> ah yes, sorry, misinterpreted :D
2022-06-03 18:00:12 +0200 <darkling> Of course, there's only one Item as a parameter to the function, so my qualification was unnecessary. :)
2022-06-03 18:02:19 +0200zebrag(~chris@user/zebrag)
2022-06-03 18:04:42 +0200bgamari_bgamari
2022-06-03 18:05:02 +0200 <[exa]> also, you could technically use lenses to do this, because they kinda capture this rewrapping
2022-06-03 18:06:06 +0200ec(~ec@gateway/tor-sasl/ec)
2022-06-03 18:06:12 +0200 <darkling> Sounds like an opportunity for a refactor... maybe in a couple of years once I'm more comfortable with the basics. :)
2022-06-03 18:06:36 +0200Topsi(~Topsi@dyndsl-095-033-023-128.ewe-ip-backbone.de)
2022-06-03 18:06:40 +0200 <darkling> Good to know that I'm not completely off-piste with what little I've manged so far.
2022-06-03 18:06:43 +0200 <darkling> Thanks, all.
2022-06-03 18:07:32 +0200 <[exa]> yeah like, lenses might be confusing for beginners, but imo the stuff is pretty intuitive
2022-06-03 18:08:31 +0200 <[exa]> (unless you get a 10page error message about a rank2 type that you have never seen, which sometimes happens :D )
2022-06-03 18:08:53 +0200 <darkling> I'm trying to limit the required rate of learning, to avoid educational yak shaving.
2022-06-03 18:09:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Remote host closed the connection)
2022-06-03 18:10:32 +0200Feuermagier_(~Feuermagi@84.17.49.18)
2022-06-03 18:10:42 +0200jbrechtel(~Srain@162-226-201-119.lightspeed.tukrga.sbcglobal.net)
2022-06-03 18:12:17 +0200 <[exa]> reasonable. :]
2022-06-03 18:13:05 +0200Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 255 seconds)
2022-06-03 18:13:09 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-06-03 18:18:57 +0200z0k(~z0k@206.84.141.40)
2022-06-03 18:19:29 +0200z0k(~z0k@206.84.141.40) (Client Quit)
2022-06-03 18:21:36 +0200benin(~benin@183.82.27.240)
2022-06-03 18:23:16 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-03 18:24:46 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 18:28:27 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2022-06-03 18:29:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Ping timeout: 252 seconds)
2022-06-03 18:30:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 18:34:13 +0200nahcetan(~nate@98.45.169.16) (Ping timeout: 258 seconds)
2022-06-03 18:34:29 +0200z0k(~z0k@206.84.141.40)
2022-06-03 18:40:09 +0200zincy(~zincy@2a00:23c8:970c:4801:10b4:e123:1cab:7458) (Remote host closed the connection)
2022-06-03 18:46:46 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-06-03 18:47:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 18:48:47 +0200nschoe(~quassel@2a01:e0a:8e:a190:75f7:546e:234f:6b81) (Ping timeout: 260 seconds)
2022-06-03 18:54:50 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 260 seconds)
2022-06-03 18:55:17 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 18:56:08 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 252 seconds)
2022-06-03 18:56:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 18:58:04 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2022-06-03 18:58:54 +0200zeenk(~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) (Quit: Konversation terminated!)
2022-06-03 19:00:15 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 19:03:35 +0200sagax(~sagax_nb@user/sagax)
2022-06-03 19:04:02 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 19:05:17 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 255 seconds)
2022-06-03 19:05:17 +0200vysn(~vysn@user/vysn) (Ping timeout: 255 seconds)
2022-06-03 19:05:44 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 255 seconds)
2022-06-03 19:06:35 +0200acidjnk(~acidjnk@p200300d0c7068b544073bd7649ab66e5.dip0.t-ipconnect.de)
2022-06-03 19:08:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 19:10:34 +0200econo(uid147250@user/econo)
2022-06-03 19:10:37 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net)
2022-06-03 19:11:56 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
2022-06-03 19:13:33 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-06-03 19:17:56 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 19:18:01 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-06-03 19:18:52 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 19:19:12 +0200gehmehgeh(~user@user/gehmehgeh)
2022-06-03 19:24:53 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:a9b0:33d4:b0a2:7015)
2022-06-03 19:26:25 +0200acidjnk(~acidjnk@p200300d0c7068b544073bd7649ab66e5.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2022-06-03 19:26:26 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 255 seconds)
2022-06-03 19:26:26 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 255 seconds)
2022-06-03 19:29:40 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 19:30:54 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 19:40:32 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 250 seconds)
2022-06-03 19:40:48 +0200odnes_(~odnes@5-203-183-6.pat.nym.cosmote.net)
2022-06-03 19:41:09 +0200odnes(~odnes@5-203-248-246.pat.nym.cosmote.net) (Read error: Connection reset by peer)
2022-06-03 19:41:36 +0200fef(~thedawn@user/thedawn)
2022-06-03 19:41:57 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 19:42:06 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 19:43:37 +0200 <maerwald> hmm.. quite peculiar: https://hackage.haskell.org/package/focus-1.0.1.4/docs/Focus.html#t:Focus
2022-06-03 19:48:02 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 255 seconds)
2022-06-03 19:48:02 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 255 seconds)
2022-06-03 19:52:59 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-06-03 19:58:19 +0200obviyus(sid415299@user/obviyus) ()
2022-06-03 19:59:52 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 20:01:32 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Max SendQ exceeded)
2022-06-03 20:01:45 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 20:01:57 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com)
2022-06-03 20:05:47 +0200slack1256(~slack1256@191.125.227.85) (Read error: Connection reset by peer)
2022-06-03 20:05:58 +0200slack1256(~slack1256@186.11.14.234)
2022-06-03 20:07:38 +0200slac47205(~slack1256@191.126.227.85)
2022-06-03 20:07:41 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-06-03 20:08:47 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 240 seconds)
2022-06-03 20:09:20 +0200moonsheep(~user@user/moonsheep)
2022-06-03 20:10:18 +0200slack1256(~slack1256@186.11.14.234) (Ping timeout: 246 seconds)
2022-06-03 20:10:39 +0200z0k(~z0k@206.84.141.40) (Ping timeout: 246 seconds)
2022-06-03 20:11:01 +0200 <moonsheep> When buiding llvm-hs I get the following error: "llvm-config: error: libLLVM-9.so is missing"
2022-06-03 20:11:10 +0200nahcetan(~nate@98.45.169.16)
2022-06-03 20:11:14 +0200 <moonsheep> I installed llvm 9 from source because my distro doesn't provide binary packages
2022-06-03 20:12:47 +0200z0k(~z0k@206.84.141.40)
2022-06-03 20:15:00 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 248 seconds)
2022-06-03 20:16:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 20:18:01 +0200causal(~user@50.35.83.177)
2022-06-03 20:19:16 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 248 seconds)
2022-06-03 20:24:10 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 20:26:03 +0200vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 246 seconds)
2022-06-03 20:33:09 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Remote host closed the connection)
2022-06-03 20:34:30 +0200fetsorn(~fetsorn@87.241.189.9)
2022-06-03 20:34:58 +0200nate3(~nate@98.45.169.16)
2022-06-03 20:35:01 +0200fetsorn(~fetsorn@87.241.189.9) (Client Quit)
2022-06-03 20:35:43 +0200fetsorn(~fetsorn@87.241.189.9)
2022-06-03 20:35:57 +0200 <geekosaur> is llvm-config looking in the right place for it?
2022-06-03 20:38:56 +0200fetsorn(~fetsorn@87.241.189.9) (Client Quit)
2022-06-03 20:39:42 +0200nate3(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2022-06-03 20:48:26 +0200vglfr(~vglfr@coupling.penchant.volia.net)
2022-06-03 20:48:54 +0200z0k(~z0k@206.84.141.40) (Quit: WeeChat 3.5)
2022-06-03 20:49:16 +0200 <ashln> how might one abort a recursive function on SIGINT?
2022-06-03 20:49:17 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-06-03 20:50:21 +0200 <geekosaur> normally it should just work. but if the function isn't doing any allocations you may need to compile with -fno-omit-yields
2022-06-03 20:51:13 +0200 <ashln> ah, i mean return normally from the function to continue with a graceful cleanup, not abort the whole program, if that's what you're saying
2022-06-03 20:51:30 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-06-03 20:52:41 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 20:54:08 +0200 <geekosaur> then you have to trap it. you'll want to use System.Posix.Signals since Windows does something almost completely different with signals; if you are in fact on Windows then you need to look at SetCtrlCHandler, for which I think a binding is somewhere under System.Win32
2022-06-03 20:54:45 +0200 <geekosaur> npote that trapping signals means running in IO; for a pure function there's not even a way to be aware of signals
2022-06-03 20:55:10 +0200 <ashln> oh thanks, i'll look more into that!
2022-06-03 20:56:14 +0200 <geekosaur> (and this may lead you into ContT IO or some other tarpit)
2022-06-03 20:57:48 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-06-03 20:57:48 +0200 <ashln> would setting an mVar on SIGINT be an appropriate solution?
2022-06-03 20:58:34 +0200 <monochrom> w00t ContT IO. Not a tarpit. :)
2022-06-03 20:58:43 +0200 <geekosaur> I'm thinking more about what you do to abort the recursion, that might require ContT
2022-06-03 20:59:21 +0200 <geekosaur> how you forward the signal to the function could be MVar or TVar or a few other ways
2022-06-03 21:02:19 +0200 <ashln> ah okay
2022-06-03 21:05:04 +0200 <hololeap> perhaps rio might be helpful at that point
2022-06-03 21:06:41 +0200 <EvanR> System.Timeout has some thoughts on aborting a computation, in that case by timing out
2022-06-03 21:07:25 +0200vysn(~vysn@user/vysn)
2022-06-03 21:08:37 +0200agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
2022-06-03 21:10:36 +0200 <EvanR> the basic principle and the issues associated with it should work for signals
2022-06-03 21:19:36 +0200fetsorn(~fetsorn@87.241.189.9)
2022-06-03 21:19:46 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-06-03 21:23:04 +0200fef(~thedawn@user/thedawn) (Ping timeout: 240 seconds)
2022-06-03 21:23:49 +0200moonsheep(~user@user/moonsheep) (Remote host closed the connection)
2022-06-03 21:25:21 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Remote host closed the connection)
2022-06-03 21:27:02 +0200fetsorn(~fetsorn@87.241.189.9) (Ping timeout: 255 seconds)
2022-06-03 21:30:54 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net)
2022-06-03 21:33:14 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-b0b9-880e-c5d8-6c3e.res6.spectrum.com) (Ping timeout: 258 seconds)
2022-06-03 21:34:04 +0200 <maerwald> ContT, the mother of all monads.
2022-06-03 21:41:02 +0200stackdroid18(~stackdroi@user/stackdroid)
2022-06-03 21:42:28 +0200pavonia(~user@user/siracusa)
2022-06-03 21:43:12 +0200coot(~coot@213.134.190.95)
2022-06-03 21:46:26 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-a177-c39b-f0e5-4ebe.res6.spectrum.com)
2022-06-03 21:47:12 +0200MajorBiscuit(~MajorBisc@2a02-a461-129d-1-6d4c-38a4-18b7-4b48.fixed6.kpn.net)
2022-06-03 21:47:54 +0200bjobjo(~bjobjo@user/bjobjo) (Quit: leaving)
2022-06-03 21:50:35 +0200chomwitt(~chomwitt@2a02:587:dc0e:3e00:aef5:6b9f:ef2:cb1f)
2022-06-03 22:03:48 +0200acidjnk(~acidjnk@p200300d0c7068b54b0b45aacebca8e8e.dip0.t-ipconnect.de)
2022-06-03 22:05:15 +0200MajorBiscuit(~MajorBisc@2a02-a461-129d-1-6d4c-38a4-18b7-4b48.fixed6.kpn.net) (Quit: WeeChat 3.5)
2022-06-03 22:08:30 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
2022-06-03 22:11:16 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-06-03 22:13:29 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-06-03 22:14:34 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 22:16:24 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-03 22:16:24 +0200slac47205(~slack1256@191.126.227.85) (Read error: Connection reset by peer)
2022-06-03 22:16:43 +0200lyle(~lyle@104.246.145.85) (Quit: Lost terminal)
2022-06-03 22:17:04 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Ping timeout: 240 seconds)
2022-06-03 22:17:21 +0200slack1256(~slack1256@186.11.9.106)
2022-06-03 22:17:44 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2022-06-03 22:18:57 +0200odnes_(~odnes@5-203-183-6.pat.nym.cosmote.net) (Quit: Leaving)
2022-06-03 22:19:13 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-06-03 22:19:16 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Client Quit)
2022-06-03 22:21:34 +0200fendor_(~fendor@178.165.192.249.wireless.dyn.drei.com)
2022-06-03 22:23:50 +0200fendor(~fendor@178.115.49.232.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2022-06-03 22:25:45 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 22:25:57 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110) (Remote host closed the connection)
2022-06-03 22:26:05 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:8199:e7da:e3d1:110)
2022-06-03 22:26:23 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 22:27:14 +0200 <hololeap> ew
2022-06-03 22:28:20 +0200 <Bulby[m]> ContT??!? wait, is that jumping? I used polysemy's error for that 😱
2022-06-03 22:29:54 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-06-03 22:31:54 +0200alp(~alp@user/alp) (Ping timeout: 272 seconds)
2022-06-03 22:32:32 +0200chazza(~igloo@cpc72417-sotn15-2-0-cust121.15-1.cable.virginm.net)
2022-06-03 22:33:04 +0200bjobjo(~bjobjo@user/bjobjo)
2022-06-03 22:35:17 +0200sagax(~sagax_nb@user/sagax) (Remote host closed the connection)
2022-06-03 22:36:04 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-06-03 22:36:28 +0200chazza(~igloo@cpc72417-sotn15-2-0-cust121.15-1.cable.virginm.net) (Remote host closed the connection)
2022-06-03 22:39:42 +0200 <maerwald> Bulby[m]: you use polysemy for everything
2022-06-03 22:39:54 +0200 <Bulby[m]> \o/
2022-06-03 22:39:56 +0200 <Bulby[m]> we have fun here
2022-06-03 22:40:20 +0200 <EvanR> I'm getting the impression that polysemy is like haskell's jQuery. Is this wrong xD
2022-06-03 22:40:30 +0200 <Bulby[m]> what is jQuery
2022-06-03 22:40:36 +0200 <EvanR> forget it
2022-06-03 22:40:50 +0200 <Bulby[m]> i don't write in stupid javascript
2022-06-03 22:42:12 +0200 <geekosaur> polysemy is like a replacement for mtl and half the ecosystem based on mtl
2022-06-03 22:42:46 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-06-03 22:43:06 +0200 <Bulby[m]> can I record update with fmaping
2022-06-03 22:43:21 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-06-03 22:43:27 +0200 <Bulby[m]> I only update one field, but conditionally
2022-06-03 22:43:50 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2022-06-03 22:43:54 +0200 <Bulby[m]> thru Maybe
2022-06-03 22:44:28 +0200 <Bulby[m]> meh, I'll just use case of statements
2022-06-03 22:45:27 +0200nate3(~nate@98.45.169.16)
2022-06-03 22:45:27 +0200 <maerwald> I find it interesting that Haskellers tend to favor abstraction over clear semantics
2022-06-03 22:45:42 +0200 <Bulby[m]> wym
2022-06-03 22:47:30 +0200cheater(~Username@user/cheater)
2022-06-03 22:47:43 +0200 <EvanR> the great thing about semantics is there's so many to choose from
2022-06-03 22:48:04 +0200 <Rembane> maerwald: Any particular abstractions?
2022-06-03 22:49:12 +0200 <maerwald> Rembane: polysemy
2022-06-03 22:49:58 +0200 <Rembane> maerwald: I haven't really seen the meaning of that one, but maybe I'm not a Haskeller.
2022-06-03 22:50:15 +0200 <maerwald> xD
2022-06-03 22:53:09 +0200 <Bulby[m]> my computer is melting ☹️
2022-06-03 22:53:17 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-06-03 22:53:38 +0200 <EvanR> a melting computer is not very abstract
2022-06-03 22:53:48 +0200 <Rembane> It's extremely concrete
2022-06-03 22:53:51 +0200 <EvanR> lol
2022-06-03 22:54:13 +0200 <darkling> Not sure I'd want to build with melting concrete.
2022-06-03 22:54:50 +0200 <Rembane> As long as you reverse time it's cool
2022-06-03 22:55:03 +0200 <Rembane> But generally, avoid non-causal concrete.
2022-06-03 22:59:24 +0200liz_(~liz@host86-159-158-175.range86-159.btcentralplus.com)
2022-06-03 23:01:37 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-06-03 23:06:05 +0200bilegeek(~bilegeek@2600:1008:b01f:31f8:a3e:b12c:dd8e:8844)
2022-06-03 23:06:42 +0200trisolaran(~ye@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
2022-06-03 23:08:30 +0200ashln(~ashln@98.38.236.123) (Ping timeout: 240 seconds)
2022-06-03 23:20:52 +0200jakalx(~jakalx@base.jakalx.net)
2022-06-03 23:23:48 +0200chomwitt(~chomwitt@2a02:587:dc0e:3e00:aef5:6b9f:ef2:cb1f) (Ping timeout: 248 seconds)
2022-06-03 23:26:09 +0200michalz(~michalz@185.246.204.101) (Remote host closed the connection)
2022-06-03 23:27:06 +0200 <dsal> Bulby[m]: updating like that is pretty easy with lens and StateT. Maybe there a polysemy stressful lens like thing
2022-06-03 23:27:32 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-a177-c39b-f0e5-4ebe.res6.spectrum.com) (Ping timeout: 248 seconds)
2022-06-03 23:39:12 +0200fetsorn(~fetsorn@87.241.189.8)
2022-06-03 23:40:05 +0200TonyStone31(~TonyStone@2603-7080-8607-c36a-a177-c39b-f0e5-4ebe.res6.spectrum.com)
2022-06-03 23:40:34 +0200fetsorn(~fetsorn@87.241.189.8) (Client Quit)
2022-06-03 23:40:54 +0200fetsorn(~fetsorn@87.241.189.8)
2022-06-03 23:41:05 +0200sagax(~sagax_nb@user/sagax)
2022-06-03 23:41:37 +0200agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Ping timeout: 260 seconds)
2022-06-03 23:41:47 +0200dolio(~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
2022-06-03 23:42:09 +0200fetsorn(~fetsorn@87.241.189.8) (Remote host closed the connection)
2022-06-03 23:44:04 +0200dolio(~dolio@130.44.130.54)
2022-06-03 23:44:38 +0200ashln(~ashln@98.38.236.123)
2022-06-03 23:45:43 +0200dolio(~dolio@130.44.130.54) (Client Quit)
2022-06-03 23:45:57 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-06-03 23:46:41 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-06-03 23:47:35 +0200dolio(~dolio@130.44.130.54)
2022-06-03 23:48:46 +0200alp(~alp@user/alp)
2022-06-03 23:48:47 +0200nate3(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-06-03 23:57:20 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)