Home liberachat/#haskell: Logs Calendar

Logs on 2021-06-04 (liberachat/#haskell)

00:00:13 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
00:00:55 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
00:04:13 × Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
00:06:28 ddellacosta joins (~ddellacos@89.46.62.34)
00:10:45 × ddellacosta quits (~ddellacos@89.46.62.34) (Ping timeout: 245 seconds)
00:13:06 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev)
00:13:19 Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
00:14:14 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
00:14:45 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
00:15:24 × zeenk quits (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!)
00:18:21 lavaman joins (~lavaman@98.38.249.169)
00:19:28 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Ping timeout: 272 seconds)
00:19:28 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
00:19:30 × dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 264 seconds)
00:19:42 werneta joins (~werneta@128.149.243.107)
00:21:19 hololeap_ is now known as hololeap
00:22:00 × mpt quits (~tom@p57a56571.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
00:23:05 o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
00:24:13 ddellacosta joins (~ddellacos@86.106.121.17)
00:24:30 × werneta quits (~werneta@128.149.243.107) (Ping timeout: 245 seconds)
00:24:39 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
00:25:56 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
00:26:26 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 272 seconds)
00:27:16 <sm[m]> juhp: great work on simplifying the CLI in stack-clean-old 0.3 !
00:27:54 × o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Ping timeout: 264 seconds)
00:29:05 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Ping timeout: 245 seconds)
00:29:06 × ddellacosta quits (~ddellacos@86.106.121.17) (Ping timeout: 264 seconds)
00:30:31 apk joins (~x@user/apk)
00:31:28 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 265 seconds)
00:32:34 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
00:33:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:35:56 × derelict quits (~winter@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 272 seconds)
00:36:37 × Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa)
00:36:53 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
00:39:58 Bartosz joins (~textual@24.35.90.211)
00:40:46 ddellacosta joins (~ddellacos@86.106.121.23)
00:43:40 apk parts (~x@user/apk) ()
00:44:35 × Bartosz quits (~textual@24.35.90.211) (Ping timeout: 252 seconds)
00:44:55 × ddellacosta quits (~ddellacos@86.106.121.23) (Ping timeout: 245 seconds)
00:50:53 hmmmas joins (~chenqisu1@183.217.202.217)
00:52:56 × geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Quit: Leaving)
00:54:26 × fradet quits (~fradet@216.252.75.247) (Remote host closed the connection)
00:56:41 × favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds)
00:57:32 favonia joins (~favonia@user/favonia)
00:58:29 ddellacosta joins (~ddellacos@86.106.121.100)
00:59:26 × waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
01:02:09 geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com)
01:02:45 <Axman6> edwardk: are you using discrimination anywhere, or know of anyone else who is?
01:03:10 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 272 seconds)
01:06:21 Codaraxis_ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
01:07:35 <edwardk> it comes up in a few places for me, not i'm not using it in anything for 'production' per se
01:08:14 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
01:08:27 <edwardk> Axman6: i keep meaning to get around to shipping a simple tabulation hashing based linear probing hash table, move that into discrimination to replace the hashmaps, and then build a new version of promises that just uses a thread for eval rather than the complicated monad i have today
01:08:35 <edwardk> those should speed up discrimination considerably
01:08:42 <edwardk> without that work its right at the cusp of usable
01:09:41 <edwardk> i don't remember if we ever did wind up using it at S&P for ermine when pulling from several data sources and having to do relational algebra ops in-language.
01:10:00 <edwardk> i remember prototyping it, but its been too long, its all a blur
01:10:08 × Codaraxis quits (~Codaraxis@89.45.7.156) (Ping timeout: 265 seconds)
01:11:24 <S11001001> edwardk: I don't think so
01:11:56 mccoyb joins (~textual@2601:182:d000:3b50:a4bd:b9d2:a94f:f8c4)
01:13:34 × mccoyb quits (~textual@2601:182:d000:3b50:a4bd:b9d2:a94f:f8c4) (Client Quit)
01:13:49 antalsz joins (~antalsz@68.175.130.216)
01:15:13 ddellacosta joins (~ddellacos@86.106.121.90)
01:16:35 <nkpart> 👋
01:16:48 <nkpart> I was/am using discrimination just to get nice joining functions
01:17:04 <nkpart> for smooshing table-like data together
01:17:29 edwardk waves to nkpart.
01:17:32 <edwardk> good to know!
01:17:50 o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
01:18:01 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
01:18:18 <edwardk> S11001001: fair nuff. it wasn't too long from when you left to when i left, so i'll take that as definitive
01:19:30 × ddellacosta quits (~ddellacos@86.106.121.90) (Ping timeout: 245 seconds)
01:22:11 × learner-monad quits (~ehanneken@user/learner-monad) (Quit: WeeChat 3.1)
01:25:23 × geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 272 seconds)
01:27:42 × Codaraxis_ quits (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 244 seconds)
01:28:00 xff0x_ joins (~xff0x@2001:1a81:5380:1300:9081:944d:4c19:80f2)
01:29:44 altern joins (~Sergii@altern.corbina.com.ua)
01:29:57 mccoyb joins (~textual@2601:182:d000:3b50:a4bd:b9d2:a94f:f8c4)
01:30:24 <altern> Can somebody help with the StackOverflow question? https://stackoverflow.com/questions/67829409/haskell-compiler-does-not-infer-correct-types Thanks in advance
01:30:32 <mccoyb> Is it possible to new up a `Ptr` to an existing struct? Or otherwise, does there exist a function with signature `a -> (Ptr a -> b) -> b`?
01:31:20 × xff0x quits (~xff0x@port-92-193-206-214.dynamic.as20676.net) (Ping timeout: 252 seconds)
01:34:24 ddellacosta joins (~ddellacos@89.46.62.21)
01:39:16 × ddellacosta quits (~ddellacos@89.46.62.21) (Ping timeout: 272 seconds)
01:40:08 <pavonia> mccoyb: You want to store an object and get a Ptr reference to it?
01:40:25 <mccoyb> @pavonia I think I found what I need in `Foreign.StablePtr`.
01:40:25 <lambdabot> Unknown command, try @list
01:41:03 <pavonia> Okay
01:46:14 × favonia quits (~favonia@user/favonia) (Ping timeout: 272 seconds)
01:46:39 favonia joins (~favonia@user/favonia)
01:47:53 ddellacosta joins (~ddellacos@89.46.62.235)
01:47:54 node-sh_ joins (~node-sh@2401:4900:3b32:3b1c:5832:6b34:f998:7a5d)
01:49:00 boioioing joins (~boioioing@cpe-76-84-141-127.neb.res.rr.com)
01:49:07 laurens joins (~laurens@2604:3d08:4383:6200:8075:4a01:7796:cc06)
01:50:15 ddellaco_ joins (~ddellacos@89.46.62.69)
01:50:26 × node-sh quits (~node-sh@2401:4900:3b34:7bd4:3db0:9804:12bf:c3a) (Ping timeout: 244 seconds)
01:51:23 rk04 joins (~rk04@user/rajk)
01:52:40 × ddellacosta quits (~ddellacos@89.46.62.235) (Ping timeout: 265 seconds)
01:54:23 <ChaiTRex> Why am I getting a parse error here: https://ideone.com/aF4V14
01:54:30 × ddellaco_ quits (~ddellacos@89.46.62.69) (Read error: Connection reset by peer)
01:57:04 <monochrom> Line 11 "(go", that is unmatched.
01:59:39 <ChaiTRex> monochrom: Thanks.
02:00:10 × favonia quits (~favonia@user/favonia) (Ping timeout: 272 seconds)
02:00:35 favonia joins (~favonia@user/favonia)
02:02:12 × o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection)
02:02:32 o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
02:11:31 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:11:31 FinnElija is now known as Guest6165
02:11:31 × Guest6165 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (strontium.libera.chat (Nickname regained by services)))
02:11:31 finn_elija is now known as FinnElija
02:11:55 × dibblego quits (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
02:11:55 dibblego joins (~dibblego@haskell/developer/dibblego)
02:12:33 dyeplexer joins (~dyeplexer@user/dyeplexer)
02:15:40 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
02:15:48 Erutuon joins (~Erutuon@user/erutuon)
02:21:05 ddellacosta joins (~ddellacos@86.106.143.131)
02:22:11 <Axman6> edwardk: sorry, got pulled into a meeting like as soonas I asked - the hashtable sounds good - would that help with listy types at all?
02:25:43 ddellaco_ joins (~ddellacos@86.106.121.64)
02:25:45 × ddellacosta quits (~ddellacos@86.106.143.131) (Ping timeout: 245 seconds)
02:26:48 <Axman6> altern: did you get your answer? in the definition of instance Find NodeRoseTree, what is the type of the argument named detectionType?
02:27:13 <Axman6> remember that is :: DetectionType a -> a -> Bool, so both those a's neeed to be the same
02:29:06 × td_ quits (~td@muedsl-82-207-238-081.citykom.de) (Ping timeout: 264 seconds)
02:30:04 × egoist1 quits (~egoist@186.235.82.52) (Quit: WeeChat 3.1)
02:30:34 × ddellaco_ quits (~ddellacos@86.106.121.64) (Ping timeout: 272 seconds)
02:30:36 td_ joins (~td@94.134.91.156)
02:30:49 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
02:31:53 × chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
02:32:07 chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
02:33:50 × favonia quits (~favonia@user/favonia) (Ping timeout: 244 seconds)
02:34:12 <altern> Axman6, yeah, I just figured it out
02:34:14 favonia joins (~favonia@user/favonia)
02:35:11 <altern> Axman6, Find should be like this: Find a b ; findBiggest :: DetectionType b -> a -> Int
02:35:46 <Axman6> I would agree that the error GHC gives is confusing, but it's because the first argument to is got to decide what the type of `a` is, so when you have a DetectionType NodeRoseTree passed to is, you then have something of type NodeRoseTree -> Bool, so passing in a Node doesn't work
02:36:06 <Axman6> I'm not sure if that's necessarily the right solution, there are others, but it is one that works
02:36:30 <altern> Axman6, what would be another solution?
02:37:32 × laurens quits (~laurens@2604:3d08:4383:6200:8075:4a01:7796:cc06) (Ping timeout: 272 seconds)
02:37:32 × bi_functor quits (~bi_functo@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 272 seconds)
02:37:35 <Axman6> if youDetectionType a functor, then you can easily turn a DetectionType NodeRoseTree into a DetectionType Node by using fmap value detectionType
02:37:43 <Axman6> you make *
02:38:32 <altern> ah, I see
02:38:34 <altern> nice
02:40:48 <Axman6> but what it means to have a DetectionType NodeRoseTree I'm not sure of, it seems like losing the structure of the tree is a weird thing to do.
02:41:20 × rk04 quits (~rk04@user/rajk) (Ping timeout: 272 seconds)
02:41:51 favonia_ joins (~favonia@user/favonia)
02:42:50 × favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds)
02:44:37 ddellacosta joins (~ddellacos@86.106.121.71)
02:47:02 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
02:47:15 werneta joins (~werneta@128.149.243.107)
02:49:05 × ddellacosta quits (~ddellacos@86.106.121.71) (Ping timeout: 245 seconds)
02:49:18 rk04 joins (~rk04@user/rajk)
02:49:56 × o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection)
02:50:04 lode joins (~lode@77-56-208-202.dclient.hispeed.ch)
02:50:27 × Aardwolf quits (~lode@77-56-208-202.dclient.hispeed.ch) (Ping timeout: 272 seconds)
02:50:53 × rk04 quits (~rk04@user/rajk) (Client Quit)
02:54:00 × node-sh_ quits (~node-sh@2401:4900:3b32:3b1c:5832:6b34:f998:7a5d) (Ping timeout: 272 seconds)
02:59:35 lavaman joins (~lavaman@98.38.249.169)
02:59:51 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 265 seconds)
03:00:37 × mccoyb quits (~textual@2601:182:d000:3b50:a4bd:b9d2:a94f:f8c4) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
03:01:17 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
03:01:20 ddellacosta joins (~ddellacos@86.106.121.235)
03:03:51 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Client Quit)
03:04:04 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
03:04:08 × stardustfp quits (~sd@195.181.166.68) (Ping timeout: 272 seconds)
03:04:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:05:27 stardustfp joins (~sd@104-54-64-209.lightspeed.jcvlfl.sbcglobal.net)
03:06:08 × ddellacosta quits (~ddellacos@86.106.121.235) (Ping timeout: 265 seconds)
03:06:23 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
03:07:02 × Typedfern quits (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
03:08:39 <altern> Axman6, if `fmap value detectionType` will work for RoseTrees, how to make it work for [RoseTree]?
03:09:56 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
03:10:34 <Axman6> that's up to you, it depends on what value you want
03:10:35 <altern> (I am having problem applying `fmap value detectionType` to xs's in `findBiggest detectionType (RoseTree node (x:xs)) = let searchInList = findBiggest (fmap value detectionType) xs`
03:10:56 <Axman6> this comes down to the semantics you want
03:11:56 <hololeap> altern: just want to throw it out there that there is a ready-made rose-tree implementation in Data.Tree
03:13:25 <altern> hololeap, I know that. I have chosen not to go with it long time ago. Do not remember why :) probably some limitations similar to inability to define toJSON
03:14:31 <hololeap> ok, that's fine. I just wanted to make sure you were aware
03:14:47 <altern> thanks
03:14:55 <altern> I appreciate it
03:18:37 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
03:18:46 ddellacosta joins (~ddellacos@86.106.121.62)
03:18:53 thiross joins (~user@173.242.113.143.16clouds.com)
03:19:18 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds)
03:19:33 mccoyb joins (~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb)
03:19:54 <edwardk> Axman6: it mostly helps with the integer ones. the hashtable is used for the grouping of integer keys
03:20:12 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
03:20:38 <edwardk> you can bolt in a Hashable-using step into the mix to group things that have big complicated hash functions that may be precomputed for prefiltering grouping results though
03:20:46 <edwardk> there's a combinator for it in there
03:22:55 × ddellacosta quits (~ddellacos@86.106.121.62) (Ping timeout: 244 seconds)
03:23:30 <altern> Axman6, cannot figure out how to apply detectionType to lists..
03:23:55 <dy> Would you say you... can't detect how :^)?
03:26:06 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
03:27:11 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
03:27:34 × werneta quits (~werneta@128.149.243.107) (Ping timeout: 272 seconds)
03:28:58 <hololeap> altern: data DetectionType a = One | Two | FactorOf a | DivisibleBy a -- What do you mean you want to apply this to lists? [DectectionType a] ? DetectionType [a] ?
03:29:16 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
03:30:37 × nkpart quits (uid3844@id-3844.highgate.irccloud.com) (Quit: Connection closed for inactivity)
03:31:41 <altern> hololeap, (I am having problem applying `fmap value detectionType` to xs's in `findBiggest detectionType (RoseTree node (x:xs)) = let searchInList = findBiggest (fmap value detectionType) xs
03:32:23 <altern> hololeap, this is the original SO question: https://stackoverflow.com/questions/67829409/how-to-specify-typecllass-function-type-to-operate-on-rosetree-nodes
03:33:19 × dhazel quits (~quassel@2601:1c1:8a00:3390:80d7:bcce:50b1:298c) (Ping timeout: 272 seconds)
03:34:12 <altern> hololeap, sorry for double posting, you already found the q
03:35:29 ddellacosta joins (~ddellacos@89.46.62.25)
03:35:44 <hololeap> if you're trying to fmap over a functor of functors, such as over [RoseTree a], you have to double nest fmaps like this: fmap (fmap value) detectionType
03:36:07 <altern> ah,ok. that might work
03:36:56 lavaman joins (~lavaman@98.38.249.169)
03:37:24 <hololeap> although `value` doesn't sound like a function, but I can't see your code, other than what you posted
03:37:45 <altern> data RoseTree a = RoseTree { value :: a, children :: [RoseTree a]}
03:37:45 <altern> deriving (Show, Functor)
03:37:55 <altern> this is where it is from
03:38:15 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
03:38:27 <hololeap> oh, so `value :: RoseTree -> a`
03:38:54 <hololeap> and `fmap value :: Functor f => f RoseTree -> f a
03:38:55 <altern> yep
03:39:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
03:39:29 otto_s joins (~user@p5de2f806.dip0.t-ipconnect.de)
03:39:55 × ddellacosta quits (~ddellacos@89.46.62.25) (Ping timeout: 245 seconds)
03:40:41 <hololeap> it sounds like you are trying to look at every value in your tree and return the largest value, is that correct? if so, you want to use a fold, not fmap
03:41:04 <altern> that's correct
03:41:30 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
03:41:40 <altern> I want to find biggest that satisfies the condition
03:42:02 ddellacosta joins (~ddellacos@89.46.62.170)
03:42:08 lemmih_ is now known as lemmih
03:42:28 × alx741_ quits (~alx741@186.178.108.209) (Quit: alx741_)
03:42:47 × otto_s_ quits (~user@p5de2f2d9.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
03:44:42 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds)
03:45:37 justsomeguy joins (~justsomeg@user/justsomeguy)
03:47:12 × ddellacosta quits (~ddellacos@89.46.62.170) (Ping timeout: 272 seconds)
03:49:51 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
03:51:32 × thiross quits (~user@173.242.113.143.16clouds.com) (Remote host closed the connection)
03:51:39 thiross joins (~user@173.242.113.143.16clouds.com)
03:52:13 × thiross quits (~user@173.242.113.143.16clouds.com) (Remote host closed the connection)
03:53:40 × smitop quits (uid328768@user/smitop) (Quit: Connection closed for inactivity)
03:53:59 ddellacosta joins (~ddellacos@86.106.121.58)
03:54:27 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
03:54:30 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
03:55:15 <dmwit> altern: Yikes, that question is in serious need of minimization.
03:55:26 × xff0x_ quits (~xff0x@2001:1a81:5380:1300:9081:944d:4c19:80f2) (Ping timeout: 265 seconds)
03:55:37 <dmwit> (That's probably why you're gathering downvotes.)
03:55:59 <altern> :((
03:56:11 xff0x_ joins (~xff0x@2001:1a81:5380:1300:5388:81f5:5499:71d2)
03:56:46 ddellaco_ joins (~ddellacos@86.106.143.235)
03:56:47 jackhill is now known as jackhill[m]
03:57:01 jackhill[m] is now known as jackhill
03:57:59 <altern> I am off to sleep. It's 7am at my side and I haven't slept all night. Feel free to post answers to the SO question
03:58:36 × ddellacosta quits (~ddellacos@86.106.121.58) (Ping timeout: 272 seconds)
04:00:35 stardust1p joins (~sd@45.12.220.116)
04:00:49 wei2912 joins (~wei2912@112.199.250.21)
04:02:41 unyu joins (~pyon@user/pyon)
04:03:40 × stardustfp quits (~sd@104-54-64-209.lightspeed.jcvlfl.sbcglobal.net) (Ping timeout: 245 seconds)
04:04:21 <hololeap> altern, if you haven't gone to sleep yet, here is how I would do it: http://sprunge.us/uj5wNs
04:05:51 <hololeap> you can derive Foldable for RoseTree the same way you derive Functor
04:08:26 <Axman6> edwardk: I was playing with the idea of using discrimination for handling (let's say) messages of different types, and using Typeable, but it doesn't look like there's an easy way to discrimiinate over TypeRep (i'm sure you'll tell me there is...)
04:12:21 ddellacosta joins (~ddellacos@89.46.62.43)
04:12:33 notzmv joins (~zmv@user/notzmv)
04:14:26 × nerdypepper quits (znc@152.67.162.71) (Changing host)
04:14:26 nerdypepper joins (znc@user/nerdypepper)
04:14:36 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:16:18 koishi_ joins (~koishi_@67.209.186.120.16clouds.com)
04:17:11 × ddellacosta quits (~ddellacos@89.46.62.43) (Ping timeout: 265 seconds)
04:17:51 <dmwit> In my tests, discrimination was worse than nlog(n) sorts for sizes all the way up to all of RAM.
04:17:57 <dmwit> So maybe don't feel too bad if you don't find a way.
04:19:05 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
04:20:06 × koishi_ quits (~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
04:23:00 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:23:54 × ddellaco_ quits (~ddellacos@86.106.143.235) (Remote host closed the connection)
04:24:03 ddellacosta joins (~ddellacos@86.106.143.235)
04:27:57 your-favorite-ni joins (~user@2600:1700:9490:79f0::a)
04:29:23 × shriekingnoise quits (~shrieking@186.137.144.80) (Remote host closed the connection)
04:29:48 <shachaf> For which types?
04:30:07 × hmmmas quits (~chenqisu1@183.217.202.217) (Quit: Leaving.)
04:31:06 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
04:31:34 ddellaco_ joins (~ddellacos@86.106.121.48)
04:32:40 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 244 seconds)
04:32:54 werneta joins (~werneta@128.149.243.107)
04:33:56 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
04:34:37 reumeth joins (~reumeth@user/reumeth)
04:34:42 lavaman joins (~lavaman@98.38.249.169)
04:36:08 × ddellaco_ quits (~ddellacos@86.106.121.48) (Ping timeout: 252 seconds)
04:38:16 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
04:38:20 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
04:38:52 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
04:39:46 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 272 seconds)
04:40:27 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
04:41:59 Erutuon joins (~Erutuon@user/erutuon)
04:44:05 × werneta quits (~werneta@128.149.243.107) (Ping timeout: 245 seconds)
04:46:14 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
04:46:58 Pixi_ is now known as Pixi
04:47:57 ddellaco_ joins (~ddellacos@86.106.121.62)
04:50:32 o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
04:53:07 × ddellaco_ quits (~ddellacos@86.106.121.62) (Ping timeout: 272 seconds)
04:55:01 × o1lo01ol1o quits (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
04:55:46 samebchase2 is now known as samebchase
04:57:49 Typedfern joins (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
04:58:00 × your-favorite-ni quits (~user@2600:1700:9490:79f0::a) (Remote host closed the connection)
05:01:32 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
05:03:26 × Typedfern quits (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
05:03:40 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 244 seconds)
05:03:54 werneta joins (~werneta@128.149.243.107)
05:04:30 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds)
05:05:32 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
05:06:02 Typedfern joins (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
05:06:39 ddellaco_ joins (~ddellacos@89.46.62.60)
05:09:17 × mccoyb quits (~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
05:10:10 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
05:11:10 × ddellaco_ quits (~ddellacos@89.46.62.60) (Ping timeout: 245 seconds)
05:13:55 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
05:14:07 vicfred joins (~vicfred@user/vicfred)
05:15:11 × Typedfern quits (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
05:15:30 Typedfern joins (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
05:21:15 × Typedfern quits (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
05:21:34 Typedfern joins (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
05:23:50 ddellaco_ joins (~ddellacos@89.46.62.82)
05:25:30 × oxide quits (~lambda@user/oxide) (Ping timeout: 264 seconds)
05:28:32 × ddellaco_ quits (~ddellacos@89.46.62.82) (Ping timeout: 272 seconds)
05:30:07 × Typedfern quits (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
05:30:27 Typedfern joins (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
05:35:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:35:22 pe200012 joins (~pe200012@119.131.208.84)
05:35:59 chomwitt joins (~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5)
05:36:05 × werneta quits (~werneta@128.149.243.107) (Ping timeout: 252 seconds)
05:37:57 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
05:38:42 nkpart joins (uid3844@id-3844.highgate.irccloud.com)
05:40:09 pieguy128 joins (~pieguy128@bas1-quebec14-67-70-101-46.dsl.bell.ca)
05:40:23 ddellaco_ joins (~ddellacos@86.106.121.108)
05:41:49 × opqdonut quits (opqdonut@pseudo.fixme.fi) (Quit: rebooting)
05:42:05 hmmmas joins (~chenqisu1@183.217.202.217)
05:42:24 × Typedfern quits (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
05:42:27 × hmmmas quits (~chenqisu1@183.217.202.217) (Client Quit)
05:42:44 Typedfern joins (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
05:45:15 × ddellaco_ quits (~ddellacos@86.106.121.108) (Ping timeout: 272 seconds)
05:46:56 shriekingnoise joins (~shrieking@186.137.144.80)
05:47:39 <juhp> sm[m]: thanks!
05:52:25 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
05:52:26 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
05:56:23 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
05:58:04 ddellaco_ joins (~ddellacos@86.106.121.78)
06:02:44 × ddellaco_ quits (~ddellacos@86.106.121.78) (Ping timeout: 272 seconds)
06:04:20 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
06:09:16 imdoor joins (~imdoor@balticom-142-78-50.balticom.lv)
06:09:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
06:10:17 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
06:12:54 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds)
06:13:08 werneta joins (~werneta@128.149.243.107)
06:13:09 chexum joins (~chexum@2a02:a03f:62f9:3f00:6b71:476f:e71b:80b)
06:16:47 derelict joins (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com)
06:17:59 × werneta quits (~werneta@128.149.243.107) (Ping timeout: 272 seconds)
06:19:24 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
06:22:25 node-sh joins (~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd)
06:26:17 res0nat0r joins (~Fletch@dia.whatbox.ca)
06:27:19 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
06:29:16 lavaman joins (~lavaman@98.38.249.169)
06:31:02 lortabac joins (~lortabac@2a01:e0a:541:b8f0:2510:e0bc:659d:298)
06:31:22 antalsz parts (~antalsz@68.175.130.216) ()
06:32:38 ddellaco_ joins (~ddellacos@89.46.62.86)
06:33:50 wonko joins (~wjc@62.115.229.50)
06:34:24 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
06:35:44 opqdonut joins (opqdonut@pseudo.fixme.fi)
06:37:34 × ddellaco_ quits (~ddellacos@89.46.62.86) (Ping timeout: 272 seconds)
06:45:10 × node-sh quits (~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd) (Ping timeout: 272 seconds)
06:46:21 node-sh joins (~node-sh@223.228.233.174)
06:48:05 <dminuoso> `AttoParsec.parseOnly (f <> pure Foo)` can this possibly error out?
06:48:18 <dminuoso> err.
06:48:24 <dminuoso> `AttoParsec.parseOnly (f <|> pure Foo)` of course! :)
06:53:22 marinelli joins (~marinelli@gateway/tor-sasl/marinelli)
06:53:51 × echoreply quits (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 1.9.1)
06:54:19 echoreply joins (~echoreply@45.32.163.16)
06:54:31 epolanski joins (uid312403@id-312403.brockwell.irccloud.com)
06:56:04 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
06:56:41 × ddellacosta quits (~ddellacos@86.106.143.235) (Remote host closed the connection)
06:56:47 jco joins (~jco@c83-248-173-38.bredband.tele2.se)
06:56:54 ddellacosta joins (~ddellacos@86.106.143.235)
06:57:29 × ddellacosta quits (~ddellacos@86.106.143.235) (Remote host closed the connection)
06:57:31 michalz joins (~user@185.246.204.60)
06:58:25 × jco quits (~jco@c83-248-173-38.bredband.tele2.se) (Client Quit)
06:58:31 <hololeap> I don't think `pure x` ever fails
06:59:14 <hololeap> AttoParsec.parseOnly (Foo <$ f) -- this might be what you want, dminuoso
07:00:28 <hololeap> eh, maybe not
07:01:28 <dminuoso> Heh :)
07:01:42 <dminuoso> Nah, I was merely wondering whether acting on the resulting parse error was necessary
07:01:47 <dminuoso> If not, Ill just trigger a panic
07:02:00 <dminuoso> saves me from threading a silly error out of some deeply nested code
07:05:38 × hololeap quits (hololeap@user/hololeap) (Quit: Bye)
07:07:26 × wonko quits (~wjc@62.115.229.50) (Changing host)
07:07:26 wonko joins (~wjc@user/wonko)
07:07:45 ddellacosta joins (~ddellacos@89.46.62.87)
07:07:58 bor0 joins (~boro@user/bor0)
07:08:17 mpt joins (~tom@p57a566da.dip0.t-ipconnect.de)
07:12:00 × ddellacosta quits (~ddellacos@89.46.62.87) (Ping timeout: 245 seconds)
07:13:05 × mpt quits (~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
07:14:03 bfrk joins (~Thunderbi@200116b845d01a0023133a647a2f786d.dip.versatel-1u1.de)
07:15:28 ixlun joins (~matthew@109.249.184.235)
07:21:08 × aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 252 seconds)
07:21:39 ddellacosta joins (~ddellacos@89.45.224.40)
07:23:07 fendor joins (~fendor@178.115.129.101.wireless.dyn.drei.com)
07:27:22 ddellaco_ joins (~ddellacos@86.106.121.77)
07:28:55 × phma quits (phma@2001:5b0:2172:da08:98fc:87:ee60:b793) (Read error: Connection reset by peer)
07:31:49 koishi_ joins (~koishi_@185.209.85.134)
07:31:55 <ukari> if I define a `type Allocator m a = forall r . (m a -> (a -> m ()) -> r) -> r`, which module should it be put in? like `module Types`, `module Type` or `module Util`?
07:32:02 × ddellaco_ quits (~ddellacos@86.106.121.77) (Ping timeout: 272 seconds)
07:32:07 × amk quits (~amk@176.61.106.150) (Read error: Connection reset by peer)
07:32:19 <dminuoso> ukari: Up to you.
07:32:56 <ukari> hard to decide
07:33:26 amk joins (~amk@176.61.106.150)
07:34:13 dpl joins (~dpl@77-121-78-163.chn.volia.net)
07:34:19 cfricke joins (~cfricke@user/cfricke)
07:36:05 × fabfianda quits (~fabfianda@net-93-148-121-206.cust.dsl.teletu.it) (Ping timeout: 244 seconds)
07:36:56 fabfianda joins (~fabfianda@mob-5-90-247-167.net.vodafone.it)
07:37:26 gehmehgeh joins (~user@user/gehmehgeh)
07:40:40 dunkeln joins (~dunkeln@94.129.65.28)
07:40:50 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:41:57 × amk quits (~amk@176.61.106.150) (Read error: Connection reset by peer)
07:42:34 × koishi_ quits (~koishi_@185.209.85.134) (Quit: /ragequit)
07:42:56 amk joins (~amk@176.61.106.150)
07:45:22 ddellaco_ joins (~ddellacos@89.46.62.44)
07:45:39 phma joins (phma@2001:5b0:211f:f668:98fc:87:ee60:b793)
07:47:52 scannow joins (~scannow@94.233.41.249)
07:47:53 Guest91 joins (~Guest91@180.168.212.6)
07:48:41 scannow parts (~scannow@94.233.41.249) ()
07:49:30 × ddellaco_ quits (~ddellacos@89.46.62.44) (Ping timeout: 245 seconds)
07:49:41 × Guest91 quits (~Guest91@180.168.212.6) (Client Quit)
07:53:07 <beaky> should error discouraged from use it seems it can lead to gotchas in evaluation order or soemthing (so you get different error messages) https://gitlab.haskell.org/ghc/ghc/-/issues/19917
07:55:10 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
07:58:02 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
07:59:42 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds)
07:59:56 werneta joins (~werneta@128.149.243.107)
08:00:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:00:57 Guest38 joins (~textual@188-182-241-27-dynamic.dk.customer.tdc.net)
08:03:07 ddellaco_ joins (~ddellacos@89.46.62.18)
08:04:15 Guest80 joins (~Guest80@180.168.212.6)
08:05:32 × Guest80 quits (~Guest80@180.168.212.6) (Client Quit)
08:05:53 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.1)
08:06:08 <dminuoso> beaky: Better yet, the same reason that caused the unexpected behavior is why it's very hard to catch reasonably
08:06:20 <dminuoso> (And that catching pure exception requires IO)
08:06:30 <dminuoso> And then ontop, you can't sensibly discriminate on the error
08:07:08 × imdoor quits (~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor)
08:07:25 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
08:07:35 dpl_ joins (~dpl@77-121-78-163.chn.volia.net)
08:07:36 × ddellaco_ quits (~ddellacos@89.46.62.18) (Ping timeout: 244 seconds)
08:09:47 rk04 joins (~rk04@user/rajk)
08:09:55 × dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 245 seconds)
08:10:07 <dminuoso> Most uses of `error` are just accidents waiting to happen. :)
08:10:37 Kaipi is now known as Kaiepi
08:10:55 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 252 seconds)
08:12:03 imdoor joins (~imdoor@balticom-142-78-50.balticom.lv)
08:12:11 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
08:12:14 <bor0> What's a more practical way to write `combined` and `combined'`? I feel it has to do something with lifting/transformers https://paste.tomsmeding.com/i3Spjely
08:12:57 <bor0> I tried to write it using `do` notation and `lift` but couldn't get it
08:13:44 <dminuoso> bor0: First, there appear to be various subtle errors with name shadowing in your code.
08:13:53 <dminuoso> mooEg x = moo x >>= (\x -> return (x + 1))
08:14:07 <dminuoso> Here the inner lambdas binder shadows the outer x
08:14:13 <bor0> Ah, yea. Can ignore that :) Just some code to play around with mixing monads
08:14:33 <c_wraith> fooEq is weird, in that the monad laws say it should be the same as foo
08:14:37 <dminuoso> Second, you should use `fmap` rather than `>>= (\x -> return (...))`
08:15:02 hendursaga joins (~weechat@user/hendursaga)
08:15:24 <dminuoso> Its hard to decipher what you're trying to accomplish.
08:16:20 <dminuoso> Though from what I can see, monad transformers is indeed what you should be exploring.
08:16:37 × rk04 quits (~rk04@user/rajk) (Ping timeout: 272 seconds)
08:16:39 <bor0> I want the same functionality of `combined` in `do` notation. Something I tried is https://paste.tomsmeding.com/NpMW45IZ (and different combinations) but they all type errored
08:18:31 <dminuoso> bor0: Look into using ExceptT + StateT.
08:18:34 Heffalump joins (~ganesh@urchin.earth.li)
08:18:42 hughjfchen joins (~hughjfche@vmi556545.contaboserver.net)
08:18:54 <bor0> Yeah, I came to that conclusion from Google but as I said, just exercising with transforming them manually for now :)
08:19:02 <dminuoso> e.g. what you seem to be after is just `ExceptT String (State Int)` and `StateT Int (ExceptT String)`
08:19:04 Guest75 joins (~Guest75@180.168.212.6)
08:19:25 ddellaco_ joins (~ddellacos@86.106.121.84)
08:19:36 <dminuoso> Oops, the latter should read `StateT Int (Except T)`
08:19:49 <c_wraith> bor0: https://paste.tomsmeding.com/ICIGlNG5 It's a completely mechanical translation
08:20:08 <c_wraith> other than the spot where I backspaced too far once :)
08:20:22 Guest75 is now known as yd502
08:20:25 <bor0> Ahh..
08:21:02 <c_wraith> also, whenever you have a single bind followed by a return, you shouldn't be using do notation. as dminuoso says, that's just an fmap
08:21:09 × hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Remote host closed the connection)
08:21:13 <bor0> OK I see where my error was. So you "lift" (or transform or whatever the best term is) in the end (after return), and you don't do it in between `do` and `return`
08:21:24 nschoe joins (~quassel@2a01:e0a:8e:a190:4986:fc3e:f94f:76cf)
08:21:45 hughjfchen joins (~hughjfche@vmi556545.contaboserver.net)
08:21:47 <c_wraith> The monad transformer stuff is sort of entirely orthogonal to what I did
08:21:59 berberman joins (~berberman@user/berberman)
08:22:10 <bor0> Is it? We combine State + Either monads?
08:22:19 <c_wraith> That's a semantic transformation
08:22:19 Heffalump parts (~ganesh@urchin.earth.li) ()
08:22:30 <c_wraith> I just did a syntactic transformation
08:22:57 × berberman_ quits (~berberman@user/berberman) (Ping timeout: 272 seconds)
08:23:44 × hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Remote host closed the connection)
08:24:02 <bor0> OK, yeah :) I need to get used to translating these mechanically
08:24:13 × ddellaco_ quits (~ddellacos@86.106.121.84) (Ping timeout: 272 seconds)
08:24:18 fendor_ joins (~fendor@178.165.131.187.wireless.dyn.drei.com)
08:24:57 <c_wraith> the big mistake you made was dropping the return in the middle of your definition of combined
08:25:06 <bor0> Yeah ^
08:26:43 × fendor quits (~fendor@178.115.129.101.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
08:26:48 lavaman joins (~lavaman@98.38.249.169)
08:27:46 × wonko quits (~wjc@user/wonko) (Ping timeout: 272 seconds)
08:30:29 kuribas joins (~user@ptr-25vy0iaefdcx0vu09ud.18120a2.ip6.access.telenet.be)
08:31:01 <kuribas> is it possible to turn some warnings into errors at project level?
08:31:29 ixlun- joins (~matthew@109.249.184.235)
08:31:37 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
08:32:25 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 245 seconds)
08:32:50 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds)
08:35:48 yd502_ joins (~yd502@180.168.212.6)
08:36:35 × werneta quits (~werneta@128.149.243.107) (Ping timeout: 245 seconds)
08:36:48 <sm[m]> kuribas: you can set GHC flags in your package.yaml/cabal file, ghc-options: -Wall -Werror sort of thing
08:38:04 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
08:38:42 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
08:38:54 <maerwald> cabal.project is project wide, package.yaml/cabal not
08:39:38 <maerwald> kuribas: top-level ghc-options isn't supported in cabal.project yet, so you have to spell out ghc-options for every local project target explicitly
08:39:40 <maerwald> I think
08:40:03 <kuribas> does ghc-options work in ghci?
08:40:10 <kuribas> for example cabal repl?
08:41:04 <maerwald> I think so... at least I get warnings about flags clashing with the repl sometimes
08:41:09 pera joins (~pera@user/pera)
08:42:55 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1)
08:43:08 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
08:44:10 yd502_ parts (~yd502@180.168.212.6) (Leaving)
08:47:29 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 252 seconds)
08:50:02 dhil joins (~dhil@195.213.192.47)
08:54:17 ddellaco_ joins (~ddellacos@86.106.121.56)
08:56:10 yd502_ joins (~yd502@180.168.212.6)
08:56:43 × yd502 quits (~Guest75@180.168.212.6) (Quit: Client closed)
08:56:50 <kuribas> ok, thanks
08:56:59 mc47 joins (~yecinem@89.246.239.190)
08:57:00 × node-sh quits (~node-sh@223.228.233.174) (Ping timeout: 245 seconds)
08:59:06 × ddellaco_ quits (~ddellacos@86.106.121.56) (Ping timeout: 264 seconds)
09:00:04 × sszark quits (~sszark@h-85-24-213-180.A392.priv.bahnhof.se) (Ping timeout: 272 seconds)
09:00:10 yd502 joins (~yd502@180.168.212.6)
09:00:37 × nkpart quits (uid3844@id-3844.highgate.irccloud.com) (Quit: Connection closed for inactivity)
09:00:46 × yd502 quits (~yd502@180.168.212.6) (Read error: Connection reset by peer)
09:03:20 jumper149 joins (~jumper149@80.240.31.34)
09:03:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
09:04:22 <jumper149> Hi, whats the difference between STM from GHC.Conc and from Control.Concurrent.STM
09:04:23 × dpl_ quits (~dpl@77-121-78-163.chn.volia.net) (Remote host closed the connection)
09:04:41 dpl_ joins (~dpl@77-121-78-163.chn.volia.net)
09:04:51 <c_wraith> nothing
09:05:29 <c_wraith> GHC.Conc is where the actual implementation is located. Control.Concurrent.STM is the interface to it that isn't specific to GHC.
09:07:14 <c_wraith> But the actual types exported are the same. You can import STM from either and they will work together
09:10:57 Torro joins (Torro@gateway/vpn/protonvpn/torro)
09:11:38 ddellaco_ joins (~ddellacos@86.106.121.73)
09:16:47 × ddellaco_ quits (~ddellacos@86.106.121.73) (Ping timeout: 272 seconds)
09:18:28 × bor0 quits (~boro@user/bor0) (Quit: Leaving)
09:19:09 wonko joins (~wjc@62.115.229.50)
09:19:25 yd502__ joins (~yd502@180.168.212.6)
09:21:08 × ixlun- quits (~matthew@109.249.184.235) (Read error: Connection reset by peer)
09:21:08 × ixlun quits (~matthew@109.249.184.235) (Read error: Connection reset by peer)
09:22:55 × yd502_ quits (~yd502@180.168.212.6) (Ping timeout: 272 seconds)
09:24:18 × Sose quits (~username@mobile-access-6df04b-135.dhcp.inet.fi) (Ping timeout: 264 seconds)
09:27:47 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
09:30:40 ddellaco_ joins (~ddellacos@86.106.121.31)
09:35:20 × ddellaco_ quits (~ddellacos@86.106.121.31) (Ping timeout: 252 seconds)
09:35:26 × marinelli quits (~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli)
09:37:33 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2819:e0f3:7100:f98e)
09:38:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:41:56 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2819:e0f3:7100:f98e) (Ping timeout: 252 seconds)
09:43:12 <absence> i have this contrived c and haskell code: https://pastebin.com/EbegpS7Q after printing "in c before callback" and "in haskell", it just hangs. does throwing an exception in this way violate some ffi rule? can i get it working somehow?
09:46:20 dunkeln joins (~dunkeln@94.129.65.28)
09:47:50 ddellaco_ joins (~ddellacos@86.106.121.20)
09:48:27 × chomwitt quits (~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5) (Ping timeout: 272 seconds)
09:51:38 mpt joins (~tom@p57a566da.dip0.t-ipconnect.de)
09:52:00 × ddellaco_ quits (~ddellacos@86.106.121.20) (Ping timeout: 245 seconds)
09:58:45 MrKaKe joins (~bo@2a01:79c:cebf:d688::9e6)
09:58:50 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:59:12 MrKaKe is now known as bjobjo
10:00:02 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
10:01:01 dario joins (~dario@8.43.122.4)
10:03:13 node-sh joins (~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd)
10:03:46 boxscape joins (~boxscape@user/boxscape)
10:03:58 ddellaco_ joins (~ddellacos@86.106.121.20)
10:06:10 × fabfianda quits (~fabfianda@mob-5-90-247-167.net.vodafone.it) (Ping timeout: 245 seconds)
10:07:12 fabfianda joins (~fabfianda@net-93-148-121-206.cust.vodafonedsl.it)
10:07:15 × derelict quits (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com) (Ping timeout: 272 seconds)
10:08:15 × ddellaco_ quits (~ddellacos@86.106.121.20) (Ping timeout: 245 seconds)
10:08:17 × bjobjo quits (~bo@2a01:79c:cebf:d688::9e6) (Quit: Reconnecting)
10:08:17 <boxscape> Is there some sense in which [a] fits the description "free monoid on a" closer than does Seq a? Or are they equally good?
10:08:24 bjobjo joins (~bo@2a01:79c:cebf:d688::9e6)
10:09:19 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
10:09:48 <river> @src Seq
10:09:48 <lambdabot> Source not found. This mission is too important for me to allow you to jeopardize it.
10:09:54 <river> whats seq?
10:10:04 <boxscape> % :i Seq
10:10:04 <yahb> boxscape: ; <interactive>:1:1: error: Not in scope: `Seq'
10:10:08 <c_wraith> They're both sort of bad, in that they have more to the data structure than a free monoid
10:10:12 <boxscape> % :i Data.Sequence.Seq
10:10:14 <yahb> boxscape: *** Exception: heap overflow
10:10:19 <boxscape> c_wraith okay, that does make sense
10:10:21 <c_wraith> river: https://hackage.haskell.org/package/containers-0.6.4.1/docs/Data-Sequence.html
10:10:25 <boxscape> wait heap overflow?
10:10:47 <boxscape> c_wraith is there a way to make a free monoid in haskell without superfluous structure?
10:10:52 <wz1000> boxscape: Seq is better, since the free monoidis defined to be strictly finite strings
10:11:01 <boxscape> hm I see
10:11:09 <c_wraith> :t foldMap
10:11:10 <lambdabot> (Foldable t, Monoid m) => (a -> m) -> t a -> m
10:11:32 × bjobjo quits (~bo@2a01:79c:cebf:d688::9e6) (Client Quit)
10:11:39 bjobjo joins (~bo@2a01:79c:cebf:d688::9e6)
10:12:08 <c_wraith> forall m. Monoid m => (a -> m) -> m is a free monoid on a
10:12:19 <c_wraith> It's not a satisfying one in a lot of ways
10:12:22 <boxscape> I see
10:12:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
10:12:32 <pja> absence: https://downloads.haskell.org/~ghc/8.4.2/docs/html/users_guide/ffi-chap.html#on-the-use-of-hs-exit & http://neilmitchell.blogspot.com/2017/11/haskell-exceptions-and-ffi-wrappers.html seem relevant links.
10:12:33 <c_wraith> But it is *exactly* the amount of structure you need
10:12:45 <boxscape> okay
10:13:15 × bjobjo quits (~bo@2a01:79c:cebf:d688::9e6) (Changing host)
10:13:15 bjobjo joins (~bo@user/bjobjo)
10:13:32 <dminuoso> % :i Data.Sequence.Seq
10:13:33 <yahb> dminuoso: *** Exception: heap overflow
10:13:37 <dminuoso> What's going on here?
10:13:42 <boxscape> no idea
10:14:05 <pja> absence: You have a thread which is blocked in an FFI call & you’ve thrown an uncaught exception. hs_exit() is blocked waiting for a thread exit which can never happen.
10:14:10 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
10:14:16 <dminuoso> Seems to work fine on GHCi 8.8.4
10:14:24 <dminuoso> Perhaps this is bug in most recent GHC?
10:14:34 <boxscape> let me check
10:14:53 <dminuoso> (Possibly the version/flags of the containers package might be relevant too)
10:14:59 <boxscape> works in 8.10 and HEAD, so if it was broken it's fixed now
10:15:06 <boxscape> I don't have yahb's ghc version installed
10:15:19 <dminuoso> What verison is yahb running? I forgot the command
10:15:20 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 245 seconds)
10:15:26 <boxscape> % :!ghc --version
10:15:26 <yahb> boxscape: The Glorious Glasgow Haskell Compilation System, version 9.0.1
10:16:51 <absence> pja: thanks, i'll have a look at the text and see if i get a better understanding
10:18:23 <boxscape> dminuoso I think I've used :i on yahb with this ghc version before without running into this...
10:18:36 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
10:19:41 <pja> absence: NB. I haven’t actually run your code and checked; my reading may be erroneous :)
10:20:28 <boxscape> % :i ala
10:20:29 <yahb> boxscape: ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s) -- Defined in `Control.Lens.Wrapped'
10:20:32 <boxscape> oh
10:20:37 <boxscape> % :i Bool
10:20:37 <yahb> boxscape: *** Exception: heap overflow
10:20:43 <Hecate> nice
10:20:45 <boxscape> I guess it doesn't affect functions
10:20:52 <dminuoso> % :q
10:20:52 <yahb> dminuoso:
10:20:54 <dminuoso> % :i Bool
10:20:56 <yahb> dminuoso: type Bool :: *; data Bool = False | True; -- Defined in `GHC.Types'; instance Eq Bool -- Defined in `GHC.Classes'; instance Ord Bool -- Defined in `GHC.Classes'; instance Enum Bool -- Defined in `GHC.Enum'; instance Show Bool -- Defined in `GHC.Show'; instance Data Bool -- Defined in `Data.Data'; instance Lift Bool -- Defined in `Language.Haskell.TH.Syntax'; instance Bits Bool -- Defined in `Data.Bits'
10:21:01 <boxscape> ah, that's better
10:21:13 <dminuoso> Now Im curious
10:21:16 × yd502__ quits (~yd502@180.168.212.6) (Remote host closed the connection)
10:21:18 <dminuoso> Whether that was the wrapper itself, or the GHCi
10:21:25 <dminuoso> The latter would be a really weird bug
10:21:29 yd502__ joins (~yd502@180.168.212.6)
10:21:36 <boxscape> hm the wrapper is written is haskell, right?
10:21:56 <boxscape> (otherwise the "*** Exception" part of the message would indicate the latter)
10:22:02 <dminuoso> mniip might note
10:22:04 <dminuoso> know even.
10:22:08 dyeplexer joins (~dyeplexer@user/dyeplexer)
10:23:05 × mpt quits (~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
10:25:34 × FragByte quits (~christian@user/fragbyte) (Quit: Quit)
10:25:40 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection)
10:25:55 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
10:26:42 <boxscape> dminuoso once ghci encounters a heap overflow, entering any expression might result in the same heap overflow message again https://gitlab.haskell.org/ghc/ghc/-/issues/14358 - though if this was the problem, that wouldn't explain why :i ala worked
10:26:47 chomwitt joins (~Pitsikoko@athedsl-20549.home.otenet.gr)
10:27:39 FragByte joins (~christian@user/fragbyte)
10:28:50 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
10:28:54 <dminuoso> % let xs = [1..10^6] :: [Int]
10:28:54 <yahb> dminuoso:
10:29:01 <dminuoso> % Data.List.foldl' (+) 0 xs
10:29:04 <yahb> dminuoso: *** Exception: heap overflow
10:29:07 <dminuoso> % :i Bool
10:29:08 <yahb> dminuoso: *** Exception: heap overflow
10:29:10 <dminuoso> % :i ala
10:29:10 <yahb> dminuoso: ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s) -- Defined in `Control.Lens.Wrapped'
10:29:13 <boxscape> hm
10:29:14 <boxscape> okay
10:29:43 <absence> pja: i don't think the blog addresses my particular situation, it seems more focused on throwing exceptions within the ffi thread, and not throwing them to other threads outside. i don't think hs_exit is involved here, but your suggestion about the thread being blocked waiting for ffi makes sense, and could result in the deadlock. i'm not sure i understand why the c code can't continue to run after the
10:29:45 <dminuoso> boxscape: It seems as if `:i` on non-types is acceptable
10:29:48 <dminuoso> % :i Functor
10:29:48 <yahb> dminuoso: *** Exception: heap overflow
10:29:49 <absence> throwTo though
10:30:09 <boxscape> dminuoso I'm surprised that the first expression produced a heap overflow at all without setting +RTS -M20m like in the ticket
10:30:18 <dminuoso> why?
10:30:40 <boxscape> because it doesn't do that for me locally, and it doesn't seem like [1..10^6] needs that much memory
10:31:28 <dminuoso> boxscape: Who ways it produces a heap overflow without setting it?
10:31:39 <dminuoso> I dont know how yahb is configured
10:32:14 <boxscape> hm that is true, I guess I just would have expected it to be configured with a bit more memory, but I don't have a particularly good reason for that
10:32:33 <dminuoso> It's at least reasonable to assume that yahb is severely constrained in terms of resources.
10:32:37 <boxscape> yeah
10:32:37 <dminuoso> Someone has to pay for that machine. :)
10:32:54 <absence> pja: i.e. if i do myThreadId from within the callback, and throw to that id, i do get a forceful shutdown and the "too many hs_exit()s" warning mentioned in the blog
10:34:44 × chomwitt quits (~Pitsikoko@athedsl-20549.home.otenet.gr) (Ping timeout: 252 seconds)
10:35:54 ikex joins (~ash@user/ikex)
10:36:23 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
10:36:29 <pja> IIRC, if an FFI C call is marked as safe, it gets run in it’s own thread.
10:36:47 <pja> but don’t quote me on that...
10:37:04 <pja> (s/it’s/its/)
10:44:27 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
10:44:34 <pja> so if you throw to the running thread, then that will cause that thread to exit, which in turn allows the main thread to exit. That seems a plausible explanation for the behaviour you’re seeing at least!
10:45:09 <dminuoso> pja: Without touching on the rest, its irrespective of safety.
10:45:34 <dminuoso> It's described in "Extending the Haskell Foreign Function Interface with Concurrency"
10:48:02 <dminuoso> Note in particualr
10:48:24 <dminuoso> `Foreign export. Invoking a function declared with foreign export creates a new Haskell thread which is bound to theOS thread making the call"
10:48:43 <dminuoso> absence: Try using runInBoundThread.
10:49:55 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
10:51:49 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:52:24 <dminuoso> Or see whether `myThreadId` inside `myHaskellFunction` produces a different thread id, I think it should.
10:56:39 × pe200012 quits (~pe200012@119.131.208.84) (Remote host closed the connection)
10:57:11 pe200012 joins (~pe200012@218.107.17.245)
10:58:24 zeenk joins (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41)
11:00:40 <boxscape> % GHC.RTS.Flags.maxHeapSize . GHC.RTS.Flags.gcFlags <$> GHC.RTS.Flags.getRTSFlags -- dminuoso FWIW the answer yahb gives is consistent with -M200m
11:00:40 <yahb> boxscape: 51200
11:02:00 × yd502__ quits (~yd502@180.168.212.6) (Ping timeout: 245 seconds)
11:05:20 <absence> pja: if i catch the exception in the main thread, it still hangs, and the exception handler isn't invoked, so it's not related to the main thread exiting at least
11:08:23 <absence> dminuoso: yes, the threadid is different. runInBoundThread doesn't change anything
11:13:51 × guest63`` quits (~user@49.5.6.87) (Quit: ERC (IRC client for Emacs 27.1))
11:14:04 ddellaco_ joins (~ddellacos@89.46.62.130)
11:15:11 <dminuoso> How are you wrapping it with runInBoundThread?
11:15:23 <dminuoso> Oh, actually this is not what bound thread is about. Mmmm.
11:15:27 <dminuoso> bound thread is about the OS thread
11:15:31 <dminuoso> not the haskell thread
11:16:28 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
11:18:44 × ddellaco_ quits (~ddellacos@89.46.62.130) (Ping timeout: 252 seconds)
11:20:23 <absence> according to the ghc user guide, " Normally when the target of a throwTo is involved in a foreign call, the exception is not raised until the call returns, and in the meantime the caller is blocked." so i guess the result is that the thread is blocking itself
11:21:14 <absence> i had hoped the callback could continue to run, and the async exception be raised when it returns, but i guess that's now how it works
11:23:55 <absence> not*
11:25:39 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
11:28:20 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2819:e0f3:7100:f98e)
11:32:12 <pja> Yes, I think the thread is “self-blocked”.
11:32:31 <pja> but I’m not that familiar with this part of the runtime.
11:32:34 ddellaco_ joins (~ddellacos@86.106.121.100)
11:33:15 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2819:e0f3:7100:f98e) (Ping timeout: 268 seconds)
11:34:47 WorldSEnder joins (~martin@88.215.103.12)
11:34:50 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
11:35:14 × node-sh quits (~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd) (Ping timeout: 272 seconds)
11:37:30 × ddellaco_ quits (~ddellacos@86.106.121.100) (Ping timeout: 264 seconds)
11:37:48 ixlun joins (~matthew@109.249.184.235)
11:37:51 ixlun- joins (~matthew@109.249.184.235)
11:41:02 node-sh joins (~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd)
11:45:05 Guest28 joins (~Guest28@194.68.222.71)
11:45:44 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:46:36 Guest28 parts (~Guest28@194.68.222.71) ()
11:49:11 ddellaco_ joins (~ddellacos@86.106.121.114)
11:49:40 ft joins (~ft@shell.chaostreff-dortmund.de)
11:52:19 × ft quits (~ft@shell.chaostreff-dortmund.de) (Client Quit)
11:52:33 ft joins (~ft@shell.chaostreff-dortmund.de)
11:54:07 prite joins (~pritam@user/pritambaral)
11:54:17 × ddellaco_ quits (~ddellacos@86.106.121.114) (Ping timeout: 272 seconds)
11:54:54 × ikex quits (~ash@user/ikex) (Ping timeout: 264 seconds)
11:56:14 × eight quits (~eight@user/eight) (Quit: rebooting)
11:56:33 ikex joins (~ash@user/ikex)
11:56:43 eight joins (~eight@user/eight)
11:57:01 <maerwald> how do you pass gcc options to a package in stack.yaml
11:59:47 dhil joins (~dhil@195.213.192.47)
12:00:34 × ru0mad quits (~ru0mad@82-64-17-144.subs.proxad.net) (Ping timeout: 272 seconds)
12:00:36 <Hecate> maerwald: I don't think you can
12:00:51 <Hecate> I think there is no '--gcc-option' equivalent
12:01:07 smitop joins (uid328768@user/smitop)
12:06:05 × ft quits (~ft@shell.chaostreff-dortmund.de) (Quit: leaving)
12:06:14 ft joins (~ft@shell.chaostreff-dortmund.de)
12:08:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:10:15 × kw quits (~user@152.1.137.158) (Remote host closed the connection)
12:10:25 mccoyb joins (~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb)
12:10:42 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
12:14:55 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
12:16:32 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
12:20:40 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
12:21:05 × ixlun quits (~matthew@109.249.184.235) (Read error: Connection reset by peer)
12:21:05 × ixlun- quits (~matthew@109.249.184.235) (Read error: Connection reset by peer)
12:21:30 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
12:22:50 × ubert quits (~Thunderbi@p200300ecdf259d40e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
12:24:27 ddellaco_ joins (~ddellacos@89.46.62.56)
12:29:06 × ddellaco_ quits (~ddellacos@89.46.62.56) (Ping timeout: 264 seconds)
12:29:25 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
12:32:55 × prite quits (~pritam@user/pritambaral) (Ping timeout: 272 seconds)
12:33:41 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 244 seconds)
12:37:18 × ft quits (~ft@shell.chaostreff-dortmund.de) (Quit: leaving)
12:37:36 ft joins (~ft@shell.chaostreff-dortmund.de)
12:37:57 × winny quits (~winny@2001:19f0:5c01:1de7:5400:1ff:fec6:4ab0) (Changing host)
12:37:57 winny joins (~winny@user/winny)
12:39:50 × berberman quits (~berberman@user/berberman) (Ping timeout: 272 seconds)
12:40:09 berberman joins (~berberman@user/berberman)
12:42:03 dunkeln joins (~dunkeln@94.129.65.28)
12:43:22 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
12:43:33 ddellaco_ joins (~ddellacos@89.46.62.45)
12:43:38 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
12:43:40 × shriekingnoise quits (~shrieking@186.137.144.80) (Ping timeout: 245 seconds)
12:45:41 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
12:48:42 × ddellaco_ quits (~ddellacos@89.46.62.45) (Ping timeout: 272 seconds)
12:49:05 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
12:49:23 reumeth joins (~reumeth@user/reumeth)
12:54:10 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
12:55:24 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
12:56:57 × reumeth quits (~reumeth@user/reumeth) (Quit: reumeth)
12:58:48 × kuribas quits (~user@ptr-25vy0iaefdcx0vu09ud.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
13:00:11 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
13:00:20 ddellaco_ joins (~ddellacos@89.46.62.58)
13:01:11 alx741 joins (~alx741@186.178.108.209)
13:05:13 × ddellaco_ quits (~ddellacos@89.46.62.58) (Ping timeout: 272 seconds)
13:05:21 × jlamothe quits (~jlamothe@198.251.57.81) (Quit: leaving)
13:07:25 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
13:07:29 ubert joins (~Thunderbi@p200300ecdf259d40e6b318fffe838f33.dip0.t-ipconnect.de)
13:07:34 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
13:09:21 reumeth joins (~reumeth@user/reumeth)
13:14:01 × wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal)
13:15:33 ddellaco_ joins (~ddellacos@86.106.121.58)
13:17:12 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds)
13:17:18 <dminuoso> absence: I guess what you could do, is set up a simple loop with an MVar that takes from the mvar and throwTo's. And then you can have your callback put to the MVar.
13:17:26 zebrag joins (~chris@user/zebrag)
13:17:40 <dminuoso> If you are in need of this style
13:20:19 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev)
13:20:35 <dminuoso> something along the lines of: do { tid <- myThreadId; mvar <- newEmptyMVar @(); forkIO ( takeMVar mvar >> throwTo someEx tid ); do_the_ffi (putMVar mvar ()) }
13:21:56 <dminuoso> Probably better yet, use a specific token like `data Tok = Kill | NeverKill` for the mvar.
13:22:55 × ddellacosta quits (~ddellacos@89.45.224.40) (Remote host closed the connection)
13:23:06 ddellacosta joins (~ddellacos@89.45.224.40)
13:23:42 × ddellacosta quits (~ddellacos@89.45.224.40) (Remote host closed the connection)
13:25:58 jlamothe joins (~jlamothe@198.251.57.81)
13:26:29 geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com)
13:26:58 oxide joins (~lambda@user/oxide)
13:27:20 × ddellaco_ quits (~ddellacos@86.106.121.58) (Ping timeout: 272 seconds)
13:27:21 ddellacosta joins (~ddellacos@86.106.121.100)
13:32:01 slowButPresent joins (~slowButPr@user/slowbutpresent)
13:32:13 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
13:38:52 <gentauro> anybody know why `hakyll` is not on Stack LTS? https://www.stackage.org/lts-17.14/hoogle?q=hakyll
13:39:03 <gentauro> only a `hakyll-convert` package
13:39:19 <gentauro> it is on hackage though https://hackage.haskell.org/package/hakyll
13:40:53 chomwitt joins (~Pitsikoko@athedsl-20549.home.otenet.gr)
13:43:18 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
13:44:26 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
13:44:46 zebrag joins (~chris@user/zebrag)
13:46:39 prite joins (~pritam@user/pritambaral)
13:54:02 × Typedfern quits (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net) (Remote host closed the connection)
13:54:35 neurocyte0 joins (~cj@user/neurocyte)
13:55:14 bontaq joins (~user@ool-18e47f8d.dyn.optonline.net)
13:55:57 ddellaco_ joins (~ddellacos@89.45.224.222)
13:56:31 Typedfern joins (~Typedfern@185.red-83-57-142.dynamicip.rima-tde.net)
13:58:37 × mccoyb quits (~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
13:59:00 mccoyb joins (~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb)
14:00:54 × ddellaco_ quits (~ddellacos@89.45.224.222) (Ping timeout: 272 seconds)
14:07:22 __monty__ joins (~toonn@user/toonn)
14:07:24 <maerwald> I found stackage to be always ad-hoc, so I'm not sure you can find such specific answers
14:07:48 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
14:07:52 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds)
14:09:52 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
14:11:40 × neurocyte0 quits (~cj@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
14:12:03 neurocyte8 joins (~neurocyte@46.243.85.149)
14:12:03 × neurocyte8 quits (~neurocyte@46.243.85.149) (Changing host)
14:12:03 neurocyte8 joins (~neurocyte@user/neurocyte)
14:12:47 neurocyte8 parts (~neurocyte@user/neurocyte) ()
14:13:44 neurocyte8 joins (~neurocyte@user/neurocyte)
14:16:23 neurocyte joins (~neurocyte@user/neurocyte)
14:16:30 × prite quits (~pritam@user/pritambaral) (Ping timeout: 264 seconds)
14:16:57 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
14:17:16 <maralorn> gentauro: I mean being on hackage is really not surprising. Nearly every released Haskell project is (and ought to be) on hackage.
14:17:30 node-sh_ joins (~node-sh@2401:4900:3b35:3eeb:4436:453f:b702:b275)
14:18:52 <maralorn> From a nixos perspective I can attest, that hakyll is a bit brittle in regards to version changes in it’s dependencies. It breaks quite often. So I am not surprised that it’s not in stackage, because that would be no small maintenance overhead.
14:20:47 × node-sh quits (~node-sh@2401:4900:3b29:78ba:5b23:3841:af60:74fd) (Ping timeout: 272 seconds)
14:22:37 × neurocyte quits (~neurocyte@user/neurocyte) (Quit: WeeChat 3.1)
14:22:37 neurocyte8 is now known as neurocyte
14:23:17 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
14:24:59 × Philonous quits (~Philonous@user/philonous) (Quit: ZNC - https://znc.in)
14:25:01 × xff0x_ quits (~xff0x@2001:1a81:5380:1300:5388:81f5:5499:71d2) (Ping timeout: 272 seconds)
14:25:29 Philonous joins (~Philonous@user/philonous)
14:25:44 xff0x_ joins (~xff0x@2001:1a81:5380:1300:eaf6:35b0:7601:60c2)
14:29:17 ddellaco_ joins (~ddellacos@89.45.224.222)
14:29:20 Sgeo joins (~Sgeo@user/sgeo)
14:30:03 × dwt_ quits (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 265 seconds)
14:31:01 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
14:31:34 <maerwald> isn't proper maintenance the point of stackage?
14:33:10 o1lo01ol1o joins (~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
14:33:40 × ddellaco_ quits (~ddellacos@89.45.224.222) (Ping timeout: 245 seconds)
14:33:46 kw joins (~user@2605:a601:a615:f600:601:15f2:ebf9:271)
14:35:24 jakalx joins (~jakalx@base.jakalx.net)
14:35:47 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Ping timeout: 272 seconds)
14:36:26 × neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
14:37:15 × malvo quits (~malvo@malvo.org) (Ping timeout: 272 seconds)
14:37:58 ixlun joins (~matthew@109.249.184.235)
14:38:00 ixlun- joins (~matthew@109.249.184.235)
14:39:34 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
14:39:34 neurocyte joins (~neurocyte@user/neurocyte)
14:39:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:43:23 × bfrk quits (~Thunderbi@200116b845d01a0023133a647a2f786d.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
14:44:12 dunkeln joins (~dunkeln@94.129.65.28)
14:44:22 <gentauro> maralorn: got it. Yeah it kind of breaks "a lot"
14:44:56 <gentauro> maerwald: stackage has the LTS (long-term-support) so I guess it's the main point
14:46:10 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds)
14:46:14 <maralorn> maerwald: Well you need somebody who cares about the package.
14:46:32 <maralorn> But of course. That is the point.
14:46:40 fendor_ is now known as fendor
14:46:59 × fm quits (~fm@user/fm) (Quit: fm)
14:49:20 malvo joins (~malvo@malvo.org)
14:51:26 allbery_b joins (~geekosaur@069-135-003-034.biz.spectrum.com)
14:53:11 × geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 244 seconds)
14:53:26 larkfisherman joins (~larkfishe@217.75.204.126)
14:53:28 × node-sh_ quits (~node-sh@2401:4900:3b35:3eeb:4436:453f:b702:b275) (Ping timeout: 272 seconds)
14:53:47 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 252 seconds)
14:55:35 <dminuoso> What is the exact decision process whether something ends up in a stackage resolver?
14:55:40 <dminuoso> Who decides on what criteria?
14:57:02 allbery_b is now known as geekosaur
14:58:52 × oxide quits (~lambda@user/oxide) (Ping timeout: 244 seconds)
14:59:03 node-sh_ joins (~node-sh@2401:4900:3b35:3eeb:4436:453f:b702:b275)
14:59:17 <maerwald> I've asked that many times too and never got an answer
14:59:59 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
15:00:48 oxide joins (~lambda@user/oxide)
15:00:51 ddellaco_ joins (~ddellacos@89.46.62.196)
15:01:09 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:05:01 × dut quits (~dut@user/dut) (Quit: Leaving)
15:05:01 learner-monad joins (~ehanneken@user/learner-monad)
15:05:32 <adamse> https://github.com/commercialhaskell/stackage/blob/master/MAINTAINERS.md#adding-a-package explains it, doesn't it?
15:05:42 × ddellaco_ quits (~ddellacos@89.46.62.196) (Ping timeout: 264 seconds)
15:07:53 <maerwald> adamse: not really. That's about adding a package, it doesn't explain maintenance process, policies, etc
15:08:16 <maerwald> so from what I see this is just a CI workflow
15:08:27 <maerwald> and nothing else
15:11:47 × Guest38 quits (~textual@188-182-241-27-dynamic.dk.customer.tdc.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:13:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
15:15:08 × larkfisherman quits (~larkfishe@217.75.204.126) (Quit: Leaving)
15:20:01 × Torro quits (Torro@gateway/vpn/protonvpn/torro) (Quit: leaving)
15:24:11 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
15:25:07 × xff0x_ quits (~xff0x@2001:1a81:5380:1300:eaf6:35b0:7601:60c2) (Ping timeout: 268 seconds)
15:25:54 xff0x_ joins (~xff0x@2001:1a81:5380:1300:5902:1ae3:48e2:5ce8)
15:29:54 chaosite joins (~chaosite@user/chaosite)
15:35:19 benin03 joins (~benin@183.82.207.15)
15:38:52 × dpl_ quits (~dpl@77-121-78-163.chn.volia.net) (Quit: dpl_)
15:39:00 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:2510:e0bc:659d:298) (Quit: WeeChat 2.8)
15:41:36 ddellaco_ joins (~ddellacos@89.45.224.66)
15:42:37 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:dc99:9b3a:b6b8:6bb9)
15:44:45 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
15:46:42 × ddellaco_ quits (~ddellacos@89.45.224.66) (Ping timeout: 268 seconds)
15:48:41 × pe200012 quits (~pe200012@218.107.17.245) (Ping timeout: 245 seconds)
15:48:51 pe200012 joins (~pe200012@218.107.17.245)
15:53:26 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
15:54:38 × thelounge92 quits (~thelounge@cpe-23-240-28-18.socal.res.rr.com) (Read error: Connection reset by peer)
15:55:01 thelounge92 joins (~thelounge@cpe-23-240-28-18.socal.res.rr.com)
15:56:22 awth13 joins (~user@193.27.14.133)
15:56:48 × dario quits (~dario@8.43.122.4) (Ping timeout: 272 seconds)
15:57:26 × boioioing quits (~boioioing@cpe-76-84-141-127.neb.res.rr.com) (Ping timeout: 272 seconds)
15:58:24 × benin03 quits (~benin@183.82.207.15) (Remote host closed the connection)
15:58:27 smitop is now known as smitop2
15:58:41 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 252 seconds)
15:58:54 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
15:59:03 derelict joins (~winter@2603-6011-f901-9e5b-aed0-a4c6-fbb9-1828.res6.spectrum.com)
16:04:16 <maralorn> My impression was: Anyone can add whatever they want. When it breaks and they can‘t or won‘t fix it, it goes out.
16:04:26 smitop joins (~smitop@user/smitop)
16:05:10 <geekosaur> I'm under the impression it's up to the package maintainer to keep it building with stackage (this has happened to xmonad-contrib a few times)
16:06:10 × pera quits (~pera@user/pera) (Ping timeout: 245 seconds)
16:06:43 × chomwitt quits (~Pitsikoko@athedsl-20549.home.otenet.gr) (Ping timeout: 265 seconds)
16:06:47 amahl joins (~amahl@dxv5skyjn4s74c7h9slvt-3.rev.dnainternet.fi)
16:08:51 <dsal> I'm right at the worst intersection of stack and nix. I can't build my old project because nix doesn't have the old compiler I specified. I can't update it because a bunch of packages have upper bounds defined.
16:09:08 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds)
16:09:45 <maralorn> dsal: Any way we can help you?
16:10:08 <dsal> Does anyone know how I can get ghc865 available? error: attribute 'ghc865' missing, at (string):1:48
16:10:26 <dsal> (my attempts to abandon stack haven't been successful yet)
16:10:39 <maralorn> dsal: Well, your best bet is pinning an older nixpkgs.
16:10:55 <dsal> Is that a thing I can do for an individual project?
16:11:04 <maralorn> dsal: Yeah, definitely.
16:11:05 neurocyte parts (~neurocyte@user/neurocyte) (WeeChat 3.1)
16:11:13 <maralorn> You can even do it in the stack.yaml
16:11:16 <maralorn> I think
16:11:34 Deide joins (~Deide@wire.desu.ga)
16:11:34 × Deide quits (~Deide@wire.desu.ga) (Changing host)
16:11:34 Deide joins (~Deide@user/deide)
16:11:35 × abrar quits (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) (Ping timeout: 245 seconds)
16:12:44 <dsal> Hmm... OK. This will be useful info. I have one system where things haven't been updated and I can build my package. How can I find out what that's using that makes it work and then transfer it to this new thing?
16:12:49 <dsal> Related: I need to learn nix better.
16:12:51 <maralorn> dsal: https://docs.haskellstack.org/en/stable/nix_integration/#package-sources
16:13:57 ddellaco_ joins (~ddellacos@86.106.143.209)
16:14:27 <maralorn> dsal: By the way you could try using ghc865Binary that attribute still exists.
16:14:57 <dsal> stack is the thing specifying that.
16:15:04 abrar joins (~abrar@static-108-2-152-54.phlapa.fios.verizon.net)
16:15:14 danidiaz joins (~ESDPC@static-172-64-63-95.ipcom.comunitel.net)
16:17:01 boioioing joins (~boioioing@cpe-76-84-141-127.neb.res.rr.com)
16:18:11 <maralorn> Hm, I see. I there has to be a way to override that …
16:19:02 × ddellaco_ quits (~ddellacos@86.106.143.209) (Ping timeout: 252 seconds)
16:19:19 <dsal> The docs there don't seem very rich. I don't seem to be able to use a URL in the paths thing, either.
16:19:37 <maralorn> You don’t? That’s a bummer.
16:20:10 <maralorn> A stupid solution that could at least prove viability of the approach would be checking nixpkgs out locally, manually adding an alias from ghc865 -> ghc865Binary and see what happens.
16:20:34 <maralorn> But at this point someone who actually uses stack would be more help to you …
16:20:53 econo joins (uid147250@user/econo)
16:21:13 <maralorn> I remember peti removing 865 but I don‘t remember exactly when it happened.
16:22:42 <dsal> It might just be that I'm specifying this older packages thing incorrectly.
16:23:18 <maralorn> Somewhere between April and the 11th of February ghc865 got dropped.
16:26:05 <maralorn> dsal: Yeah, I think to use nix-path you need a local copy of nixpkgs. One way would be to add it as a nix-channel.
16:26:20 <maralorn> But that’s kinda non-local so not very cool.
16:26:37 <dsal> I tried adding https://nixos.org/channels/nixpkgs-20.09-darwin (and .03) and neither seemed to get things working.
16:27:22 <maralorn> :-(
16:27:46 <dsal> Yeah, I can't find that package. This built in The Past™ at least.
16:29:14 <maralorn> Maybe the most flexible thing you can do is writing a shell.nix without a `{ghc}` argument. That might work. And then you can just manually pick the ghc out of nixpkgs.
16:29:55 × nschoe quits (~quassel@2a01:e0a:8e:a190:4986:fc3e:f94f:76cf) (Ping timeout: 265 seconds)
16:29:57 <dsal> Oh, I *can* specify a URL in paths, but it's the same problem of not being able to find the thing.
16:30:35 <maralorn> Maybe you can paste an error message?
16:30:52 <dsal> The error message is just: error: attribute 'ghc865' missing, at (string):1:48
16:31:00 <maralorn> Okay
16:31:13 <maralorn> What exactly did you write into the path?
16:31:19 <dsal> path: [https://nixos.org/channels/nixpkgs-20.03-darwin/nixexprs.tar.xz]
16:31:44 <dsal> That's the first thing that didn't issue a warning that it didn't work at all. I otherwise added all the nix-channels manually.
16:31:59 <maralorn> It needs to be path: [nixpkgs=https://nixos.org/channels/nixpkgs-20.03-darwin/nixexprs.tar.xz]
16:32:14 <maralorn> The other thing wouldn‘t have an effect.
16:32:41 <maralorn> And when that errors urls just don‘t work.
16:32:53 <dsal> It was giving me a warning when I got the path wrong.
16:33:18 <dsal> In any case, that didn't give the *same* error... so that's nice.
16:33:32 <dsal> This might actually be working.
16:33:32 <maralorn> \o/
16:33:43 <dsal> I'll know in a while, I guess. Thanks!
16:34:13 × boxscape quits (~boxscape@user/boxscape) (Quit: Connection closed)
16:34:33 <dsal> Now to find out what that does on Linux...
16:34:48 × node-sh_ quits (~node-sh@2401:4900:3b35:3eeb:4436:453f:b702:b275) (Ping timeout: 272 seconds)
16:35:17 × Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
16:35:58 boxscape joins (~boxscape@user/boxscape)
16:36:53 × siraben quits (~siraben@user/siraben) (Quit: node-irc says goodbye)
16:36:53 × psydroid quits (~psydroidm@user/psydroid) (Quit: node-irc says goodbye)
16:36:53 × sm[m] quits (~sm@plaintextaccounting/sm) (Quit: node-irc says goodbye)
16:36:53 × MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Quit: node-irc says goodbye)
16:36:53 × ac quits (~aloiscoch@2001:470:69fc:105::65) (Quit: node-irc says goodbye)
16:36:53 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: node-irc says goodbye)
16:36:53 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Quit: node-irc says goodbye)
16:36:53 × peddie quits (~peddie@2001:470:69fc:105::25d) (Quit: node-irc says goodbye)
16:36:53 × fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Quit: node-irc says goodbye)
16:36:53 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Quit: node-irc says goodbye)
16:36:53 × the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Quit: node-irc says goodbye)
16:36:53 × srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Quit: node-irc says goodbye)
16:36:53 × hjulle[m] quits (~hjullemat@2001:470:69fc:105::1dd) (Quit: node-irc says goodbye)
16:36:53 × jaror[m] quits (~jaror@2001:470:69fc:105::265) (Quit: node-irc says goodbye)
16:36:53 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Quit: node-irc says goodbye)
16:36:53 × ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Quit: node-irc says goodbye)
16:36:53 × Drezil quits (~drezilkif@2001:470:69fc:105::7f8) (Quit: node-irc says goodbye)
16:36:53 × cdepillabout[m] quits (~cdepillab@2001:470:69fc:105::3d3) (Quit: node-irc says goodbye)
16:36:53 × kosmikus[m] quits (~andresloe@2001:470:69fc:105::95d) (Quit: node-irc says goodbye)
16:36:53 × adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Quit: node-irc says goodbye)
16:36:53 × tomferon[m] quits (~tomferon@2001:470:69fc:105::268) (Quit: node-irc says goodbye)
16:36:53 × Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Quit: node-irc says goodbye)
16:36:53 × Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Quit: node-irc says goodbye)
16:36:53 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: node-irc says goodbye)
16:36:53 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Quit: node-irc says goodbye)
16:36:53 × zwro[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Quit: node-irc says goodbye)
16:36:53 × amesgen[m] quits (~amesgenam@2001:470:69fc:105::82b) (Quit: node-irc says goodbye)
16:36:53 × Soft quits (~soft-matr@2001:470:69fc:105::c75) (Quit: node-irc says goodbye)
16:36:53 × bb010g quits (~bb010gmat@2001:470:69fc:105::9a5) (Quit: node-irc says goodbye)
16:36:53 × eddiemundo quits (~eddiemund@2001:470:69fc:105::a9c) (Quit: node-irc says goodbye)
16:37:47 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
16:40:01 ac joins (~aloiscoch@2001:470:69fc:105::65)
16:40:01 siraben joins (~siraben@user/siraben)
16:40:01 sm[m] joins (~sm@plaintextaccounting/sm)
16:40:02 MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22)
16:40:02 psydroid joins (~psydroidm@2001:470:69fc:105::165)
16:40:02 fgaz joins (~fgaz@2001:470:69fc:105::842)
16:40:02 maralorn joins (~maralorn@2001:470:69fc:105::251)
16:40:02 peddie joins (~peddie@2001:470:69fc:105::25d)
16:40:02 ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2)
16:40:02 fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db)
16:40:03 Las[m] joins (~lasmatrix@2001:470:69fc:105::74e)
16:40:03 the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f)
16:40:13 hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd)
16:40:14 Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0)
16:40:14 tomferon[m] joins (~tomferon@2001:470:69fc:105::268)
16:40:14 srid[m] joins (~sridmatri@2001:470:69fc:105::1c2)
16:40:14 zwro[m] joins (~zwromatri@2001:470:69fc:105::1d4)
16:40:14 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
16:40:15 cdepillabout[m] joins (~cdepillab@2001:470:69fc:105::3d3)
16:40:15 adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d)
16:40:15 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
16:40:15 bb010g joins (~bb010gmat@2001:470:69fc:105::9a5)
16:40:15 Drezil joins (~drezilkif@2001:470:69fc:105::7f8)
16:40:15 Artem[m] joins (~artemtype@2001:470:69fc:105::75b)
16:40:15 amesgen[m] joins (~amesgenam@2001:470:69fc:105::82b)
16:40:15 kosmikus[m] joins (~andresloe@2001:470:69fc:105::95d)
16:40:15 eddiemundo joins (~eddiemund@2001:470:69fc:105::a9c)
16:40:15 Soft joins (~soft-matr@2001:470:69fc:105::c75)
16:40:15 jaror[m] joins (~jaror@2001:470:69fc:105::265)
16:41:39 justsomeguy joins (~justsomeg@user/justsomeguy)
16:41:56 aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
16:42:48 × sclv quits (sid39734@tooting.irccloud.com) (Changing host)
16:42:48 sclv joins (sid39734@haskell/developer/sclv)
16:43:43 <dsal> Well, I don't think building this on my Mac is even going to be a thing. It seems that OS X broke a bunch of junk and nix struggled to keep up. Going back in time just opens old wounds.
16:44:34 <dsal> But at least I know how to go back in time now. heh. Problem with nix on non-nixos, I guess. Somewhere, some compiler/linker recipe wants to link against /usr/lib/system/libcache.dylib which stopped existing at some point.
16:48:15 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 245 seconds)
16:48:47 mpt joins (~tom@p57a566da.dip0.t-ipconnect.de)
16:50:33 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:50:36 haltux joins (~haltux@a89-154-181-47.cpe.netcabo.pt)
16:53:15 × mpt quits (~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
16:55:46 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
16:55:59 justsomeguy joins (~justsomeg@user/justsomeguy)
16:57:49 <justsomeguy> I want to represent a series of evaluation steps in my notes (in lc, and haskell, and math). Is there a widely agreed upon symbol for "simplifies to"?
16:58:25 × motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit)
16:58:42 motherfsck joins (~motherfsc@user/motherfsck)
16:59:07 chomwitt joins (~Pitsikoko@athedsl-20549.home.otenet.gr)
16:59:43 <monochrom> In big-step operational semantics, expr ⇓ value
16:59:51 <opqdonut> justsomeguy: ==> is used often (as an ascii approximation of the evaluation arrow used in LaTeXed papers)
17:00:30 <opqdonut> that might get confused with implication in the wrong context of course...
17:00:51 <monochrom> In small-step, → or any funny arrow you like.
17:02:40 × pe200012 quits (~pe200012@218.107.17.245) (Ping timeout: 272 seconds)
17:02:43 × smitop quits (~smitop@user/smitop) (Remote host closed the connection)
17:03:23 smitop joins (~smitop@user/smitop)
17:03:39 <justsomeguy> Maybe I should avoid arrows, they have so many meaning depending on the usage. Or I suppose I can quote each evaluation step, somehow, and leave the arrows unquoted.
17:06:17 arjun joins (~user@user/arjun)
17:06:24 boxscape joins (~boxscape@user/boxscape)
17:06:53 Erutuon joins (~Erutuon@user/erutuon)
17:06:58 <boxscape> My terminal seems to handle unicode characters fine, but ghc error messages and ghci in- and output only display question marks if I use e.g. a greek letter. Is there a way to fix it? (I assume so, since yahb's output seems fine)
17:07:23 <boxscape> er
17:07:24 <boxscape> never mind
17:07:32 <boxscape> I just found the solution -.-
17:07:42 <justsomeguy> What was it?
17:08:03 <c_wraith> was the terminal not using utf8?
17:08:05 <boxscape> well, I still have to figure it out what it was, but it turns out that if I use the ghc.nix script unicode works, so it must be somewhere in there
17:08:27 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
17:08:45 <boxscape> my LANG is en_US.UTF-8 without ghc.nix, is that what you are referring to c_wraith?
17:08:46 <monochrom> My ghc gives "Variable not in scope: α :: Char" just fine.
17:09:42 <WorldSEnder> justsomeguy: I've seen \leadsto, i.e. ↝ being used
17:10:01 <monochrom> Mine is en_CA.UTF-8 so perhaps Canada is better. :)
17:10:03 <c_wraith> boxscape: well, I suppose I should have been asking about the interaction between your terminal's setting and your locale settings. Because that's where the problem is going to be
17:10:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:10:12 <boxscape> hm, okay
17:10:20 <boxscape> I don't know a ton about this subject tbj
17:10:23 <boxscape> s/j/h
17:10:44 <justsomeguy> WorldSEnder: Well, that may work. At least it's not a symbol I'm using anywhere else. Where does that notation come from (or where did you see it used)?
17:12:14 <WorldSEnder> If I could remember. I'll see if I can dig it up
17:13:18 <justsomeguy> Thank for taking the time to do that :^)
17:13:23 <justsomeguy> *Thanks
17:13:28 <boxscape> okay, so, running `export LC_ALL=en_US.UTF-8` and then `sudo locale-gen` seems to have fixed it
17:15:45 <boxscape> correction, the `sudo locale-gen` is irrelevant
17:15:52 × awth13 quits (~user@193.27.14.133) (Quit: ERC (IRC client for Emacs 27.2))
17:19:23 <dsal> Specifying `path: [nixpkgs=https://nixos.org/channels/nixpkgs-20.09-darwin/nixexprs.tar.xz]` doesn't break Linux, but it doesn't fix my Mac. yay
17:21:07 × ixlun- quits (~matthew@109.249.184.235) (Read error: Connection reset by peer)
17:21:07 × ixlun quits (~matthew@109.249.184.235) (Read error: Connection reset by peer)
17:21:34 <justsomeguy> boxscape: You may want to 'shopt -s globasciiranges' if you use bash pattern expansions like [a-z] a lot, otherwise the characters sort differently for en_US.UTF-8, to become aAbBcC….
17:21:56 <boxscape> justsomeguy ah, thank you
17:22:10 <WorldSEnder> https://link.springer.com/content/pdf/10.1007/978-3-030-45231-5_30.pdf uses it, but specifically for beta reduction, so I might have misremembered
17:22:31 <justsomeguy> boxscape: No problemo. Locale stuff is surprisngly complex.
17:23:06 <boxscape> Yeah I'm glad I haven't had to deal with it very much
17:23:40 awth13 joins (~user@193.27.14.133)
17:24:21 ddellaco_ joins (~ddellacos@89.46.62.83)
17:25:20 <justsomeguy> Thanks for finding that for me, WorldSEnder
17:27:22 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 272 seconds)
17:28:26 gethuen joins (uid502979@id-502979.stonehaven.irccloud.com)
17:28:45 <WorldSEnder> no problem, I did find a SO answer that uses it now. https://cs.stackexchange.com/a/49890/93561 not much, but I'm not the only one, yay!
17:31:30 hololeap joins (hololeap@user/hololeap)
17:33:40 × azeem quits (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds)
17:34:12 a6a45081-2b83 joins (~aditya@106.212.70.132)
17:35:24 ddellacosta joins (~ddellacos@86.106.143.66)
17:36:18 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
17:37:50 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:39:54 × ddellacosta quits (~ddellacos@86.106.143.66) (Ping timeout: 264 seconds)
17:41:21 arjun parts (~user@user/arjun) (ERC (IRC client for Emacs 28.0.50))
17:41:26 Guest38 joins (~textual@188-182-241-27-dynamic.dk.customer.tdc.net)
17:44:29 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
17:45:14 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
17:45:54 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 264 seconds)
17:47:37 × Guest38 quits (~textual@188-182-241-27-dynamic.dk.customer.tdc.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:49:16 Guest38 joins (~textual@188-182-241-27-dynamic.dk.customer.tdc.net)
17:50:23 × fjmorazan quits (~quassel@user/fjmorazan) (Quit: fjmorazan)
17:50:34 fjmorazan joins (~quassel@user/fjmorazan)
17:51:29 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 272 seconds)
17:52:28 dunkeln joins (~dunkeln@94.129.65.28)
17:53:19 hexfive joins (~eric@50.35.83.177)
17:53:57 × hexfive quits (~eric@50.35.83.177) (Client Quit)
17:55:17 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
17:57:00 × dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
17:58:16 × zebrag quits (~chris@user/zebrag) (Ping timeout: 245 seconds)
17:58:49 zebrag joins (~chris@user/zebrag)
18:00:17 chddr joins (~Thunderbi@185.183.93.82)
18:01:00 × zebrag quits (~chris@user/zebrag) (Client Quit)
18:01:27 × chddr quits (~Thunderbi@185.183.93.82) (Client Quit)
18:02:41 jakalx parts (~jakalx@base.jakalx.net) ()
18:04:00 zebrag joins (~chris@user/zebrag)
18:04:21 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
18:11:57 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Remote host closed the connection)
18:15:33 × taeaad quits (~taeaad@user/taeaad) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
18:16:12 fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
18:16:13 ddellacosta joins (~ddellacos@86.106.121.209)
18:17:28 × theodorc quits (theodorc@cassarossa.samfundet.no) (Read error: Connection reset by peer)
18:18:58 taeaad joins (~taeaad@user/taeaad)
18:20:26 teddyc joins (theodorc@cassarossa.samfundet.no)
18:20:47 × taeaad quits (~taeaad@user/taeaad) (Client Quit)
18:21:18 × ddellacosta quits (~ddellacos@86.106.121.209) (Ping timeout: 264 seconds)
18:21:58 taeaad joins (~taeaad@user/taeaad)
18:26:07 winircuser-780 joins (~winircuse@170.250.221.149)
18:27:44 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
18:29:27 bfrk joins (~Thunderbi@mue-88-130-48-143.dsl.tropolys.de)
18:31:16 × Guest38 quits (~textual@188-182-241-27-dynamic.dk.customer.tdc.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:31:53 ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a)
18:32:04 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
18:32:45 × mccoyb quits (~textual@2601:182:d000:3b50:6d20:ecfa:c38a:3ddb) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
18:34:02 Guest38 joins (~textual@188-182-241-27-dynamic.dk.customer.tdc.net)
18:34:28 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:34:37 × winircuser-780 quits (~winircuse@170.250.221.149) (Quit: Powered by WinIRC)
18:43:15 × fresheyeball quits (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
18:46:20 jakalx joins (~jakalx@base.jakalx.net)
18:54:42 vicfred joins (~vicfred@user/vicfred)
18:54:55 fr33domlover joins (~fr33domlo@angeley.es)
18:55:11 × tinwood quits (~tinwood@canonical/tinwood) (Remote host closed the connection)
18:55:15 Baloo_ joins (~Baloo_@141.98.255.150)
18:57:31 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:58:10 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
18:58:16 tinwood joins (~tinwood@general.default.akavanagh.uk0.bigv.io)
18:58:16 × tinwood quits (~tinwood@general.default.akavanagh.uk0.bigv.io) (Changing host)
18:58:16 tinwood joins (~tinwood@canonical/tinwood)
19:03:37 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
19:03:46 <eggplantade> Is there a name for the algorithm technique of updating objects by replacing them with a pointer to newer data? It's used in garbage collection, unification, and lazy evaluation
19:04:28 <lucky> eggplantade: uh, it's not the right term but maybe as a pointer since it's a related idea? copy-on-write
19:13:59 mpt joins (~tom@p57a566da.dip0.t-ipconnect.de)
19:14:39 <dminuoso> eggplantade: Can you name an example where updating objects by replacing them with a pointer occurs in lazy evaluation?
19:16:51 × a6a45081-2b83 quits (~aditya@106.212.70.132) (Quit: Konversation terminated!)
19:17:06 × haltux quits (~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 264 seconds)
19:17:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
19:19:29 Guest10 joins (~Guest10@187.83.249.216.dyn.smithville.net)
19:19:43 <eggplantade> A thunk can be implemented as storage for either a closure or a pointer to the closure's evaluated result. The first time the thunk is evaluated, the closure is replaced by a pointer to the evaluated result.
19:19:51 gaura- joins (~gaura@49.205.120.227)
19:22:23 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
19:22:59 <gaura-> What is the best way to install haskell on windows 10?
19:23:10 <maerwald> gaura-: chocolatey
19:23:21 <maerwald> or you beta-test ghcup
19:23:24 <maerwald> or you use stack
19:23:24 × bfrk quits (~Thunderbi@mue-88-130-48-143.dsl.tropolys.de) (Ping timeout: 244 seconds)
19:23:28 <Guest10> is there an idiomatic way to reorder a monadic computation based on runtime/term-level information?
19:23:30 <Guest10> basically, I have something like "do (a <- monadMa; b <- monadMb; return (f a b))" but I may need to reverse the order of running a & b, and there may be many more steps in the calculation
19:23:56 Guest9 joins (~Guest9@103.240.170.183)
19:24:47 <dminuoso> Guest10: You can use a free monad representation to re-manipulate the structure I guess
19:25:28 × mpt quits (~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
19:26:13 <dminuoso> Though, you cant do this in the general case
19:28:13 mastarija joins (~mastarija@46.188.137.31)
19:28:37 × gaura- quits (~gaura@49.205.120.227) ()
19:29:21 <Guest10> i'm looking into free monads; do you mean that this won't generalize naturally to larger numbers of steps?
19:30:46 <maerwald> free monads aren't really free
19:30:59 <maerwald> they come with a performancy cost :p
19:31:13 <dminuoso> Guest10: No rather that you can't arbitrarily manipulate the structure, but you can generate it easily based on runtime information
19:31:15 <monochrom> Guest10, it is not the size, but the data dependency.
19:31:29 <dminuoso> And then run some interpreter on that
19:31:41 <monochrom> You will have a hard time reordering ma >>= \a -> f a
19:31:42 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
19:32:17 <dminuoso> My phrasing "re-manipulate" was poorly chosen. It allows you to express the shape of the monadic computation as data itself, making it easy to express it as a runtime value
19:32:30 <dminuoso> This lets you decouple generating the shape from running it
19:32:42 <Guest10> oh i see
19:33:08 <Guest10> actually that gives me an idea...maybe i could just generate all possible permutations of the calculation order and pick one at runtime?
19:33:09 <dminuoso> You might not even need a full blown free monad, consider whether perhaps a simple command interpreter is enough
19:33:45 <dminuoso> I dont know enough about your problem domain to say
19:34:21 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
19:34:41 <dminuoso> eggplantade: Im not well versed in STG, I thought the closure wasnt replaced, but rather that the entry code was rewritten to return a value written inside that same closure.
19:34:54 <dminuoso> such that the outside pointer remains unchanged
19:36:38 <monochrom> No, no code is ever rewritten/overwritten.
19:36:40 <eggplantade> Data in the STG is a closure that returns itself, isn't it?
19:37:03 <dminuoso> monochrom: How does the self update work then?
19:37:30 <monochrom> But, you can always in-place change "Closure ptr_to_code ptr_to_param" to "Value ptr_to_value_on_heap"
19:38:21 <monochrom> And when the next GC happens, the "Value ptr_to_value_on_heap" is eliminated.
19:38:33 <monochrom> (because it's a middle-person)
19:39:28 <dminuoso> Guess its time to download stgi.
19:39:33 <dminuoso> See if it still builds :)
19:39:42 arjun joins (~user@user/arjun)
19:39:50 bfrk joins (~Thunderbi@200116b845d01a0023133a647a2f786d.dip.versatel-1u1.de)
19:40:05 <monochrom> Did you know of https://github.com/takenobu-hs/haskell-ghc-illustrated ?
19:40:43 <dminuoso> I think I have seen it a long long time ago. Probably when I was really new to Haskell
19:40:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:42:11 <monochrom> I think it's very valuable to revisit it now. You are now in a position to understand everything it says. :)
19:42:17 ubert1 joins (~Thunderbi@p200300ecdf259df0e6b318fffe838f33.dip0.t-ipconnect.de)
19:42:25 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 245 seconds)
19:42:31 <monochrom> It does have one slide "Thunk and update" for this one.
19:43:03 <arjun> that looks like a nice weekend read monochrom
19:43:19 <monochrom> I think the slide set is very good preparation before reading the STG papers etc.
19:43:35 × ubert quits (~Thunderbi@p200300ecdf259d40e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
19:43:35 ubert1 is now known as ubert
19:44:13 <monochrom> You can also use it as reference material. (I do.) You skim it to know which questions it answers. Then put it aside. When one day you really need an answer, go again.
19:45:15 <monochrom> E.g., I didn't learn the thread stuff until I really had an urge to.
19:45:17 fluffyballoon joins (~fluffybal@pat-verona-h.epic.com)
19:45:42 <monochrom> I'll use this analogy.
19:46:17 lavaman joins (~lavaman@98.38.249.169)
19:46:32 <monochrom> the academic papers and even some of GHC wiki : sheet music, the full score of a two-hour-bloody-long symphony
19:46:37 boxscape joins (~boxscape@user/boxscape)
19:46:50 <monochrom> those slides : a performance of that music
19:47:12 <monochrom> For most of us, it makes sense to listen to a performance before reading the score. :)
19:47:58 <arjun> monochrom: are you refering to the pdf doc as 'slides'?
19:47:59 <monochrom> (BTW who actually wrote a two-hour-bloody-long symphony? Answer: Mahler. :) )
19:48:04 <monochrom> Yeah.
19:48:22 <arjun> aw'ight
19:48:36 mpt joins (~tom@p57a566da.dip0.t-ipconnect.de)
19:48:45 <monochrom> So yeah, you have your weekend 4-hour opera-listening afternoon planned now :)
19:49:05 <arjun> i am confused. am i being talked to ? : P
19:49:10 <monochrom> yeah :)
19:49:18 <arjun> right. yea
19:49:41 <arjun> i am at that awkward stage anyway. not really a beginner, not really a pro
19:50:36 <monochrom> In that case, it's similar to me, there are some parts you are ready to pay attention to, and some other parts you just keep in mind "this exists, I'll come back later".
19:51:01 <arjun> sure
19:51:13 <arjun> be lazy, like the language
19:51:43 <monochrom> which is really like most people's experience with classical music "I listen again two years later and find something new"
19:51:58 <arjun> i listen metal
19:52:12 × Guest10 quits (~Guest10@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
19:52:15 <monochrom> I hate analogies. But ironically I make the most perfect analogies.
19:52:43 <arjun> *insert hulk meme*
19:52:51 <arjun> i see that as an absolute win
19:53:11 <dminuoso> monochrom: Mmm, I dont like that the generated asm code differs slightly from the sheets, and there's some strange discrepancies with the diagrams.
19:53:23 <dminuoso> This is a mind bender already
19:54:07 <monochrom> Perhaps it needs updating. Every example was true not long ago.
19:54:32 Izem joins (~Izem@bras-base-london1483w-grc-38-65-95-41-91.dsl.bell.ca)
19:54:54 <Izem> what is the motivation for do notation?
19:55:03 <dminuoso> Well, for starters the slides suggest given `Just 1` the payload of the first closure points at the info table of the second closure
19:55:06 <dminuoso> But then you see something like this:
19:55:14 <dminuoso> .quadExample.value2_closure+1
19:55:27 <dminuoso> Where is this +1 coming from?
19:55:27 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:55:46 <lucky> Izem: easily expressing certain imperative-like constructs and reasoning about them in an imperative-like manner
19:55:59 <lucky> when you're chaining actions it's syntactic sugar for that, I guess
19:56:17 Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
19:56:37 <lucky> historically it originates specifically with the IO monad and sort of got dragged along with the realization that monads are much more general than just IO
19:56:38 <dminuoso> lucky: Think of do-notation as a programmable semicolon/equals-sign from traditional languages. :)
19:56:47 <Izem> that makes sense, I was just wondering if there was another way, since Haskell is primarily about expressions
19:56:49 <lucky> dminuoso: pretty much
19:56:55 <dminuoso> Err, I meant Izem!
19:57:01 <lucky> Izem: absolutely, it's just syntactic sugar for a sequence of bind operations
19:57:12 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Remote host closed the connection)
19:57:14 <Izem> oh, interesting, what is bind?
19:57:22 <lucky> https://en.wikibooks.org/wiki/Haskell/do_notation#Just_sugar
19:57:31 <dminuoso> Izem:: So while in <arbitraryimperative language> you can can write `f = g(); z = h(f);` we get to assign meaning to `=`, `;`, and generalize for non-routines too.
19:57:37 <Izem> I've been thinking about expressions vs statements for some time know, still confused
19:57:40 <monochrom> No no, the payload of the 1st closure points at a heap object, this heap object begins with pointer to info table (of I#).
19:58:00 <lucky> a <- getContents; putStrLn a is the same as getContents -> \a >>= putStrLn a --> \_
19:58:05 <lucky> \_
19:58:24 <Izem> s/know/now/
19:58:50 <dminuoso> monochrom: https://gist.github.com/dminuoso/5c6484cb42e5aa4a6d91e1a24e8ffc67
19:59:42 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:00:11 <monochrom> Ah! Pointer tagging! Use lsb to indicate "this pointer btw points to a whnf already, and the data construct is the 1st data constructor of its type"
20:00:12 <dminuoso> Izem: the terms "statement" is usually a syntactic categorization for some languages, in Haskell we don't have statements.
20:00:14 <lucky> Izem: it's a hamfisted explanation, but think of it as constructing an expression that "queues up" a sequence of statements that will only actually be executed at top-level evaluation when main is invoked
20:00:36 <dminuoso> Once you accept that we dont have statements, your life will be easier!
20:00:40 <lucky> Haskell's do notation tries to make that way of thinking about it more statement-like, but yes, it's all a pure expression technically
20:00:58 <arjun> hamfisted
20:00:59 <monochrom> So perhaps fast-forward to the "pointer tagging" slide...
20:01:07 <arjun> my new favourite word.
20:01:09 <Izem> so this bind is the sequencing operation?
20:01:20 <dminuoso> monochrom: Oh.
20:01:30 <monochrom> :) :) :)
20:02:18 <lucky> Izem: Ahhh this is why everyone gets lost haha. In a context where that makes sense (like the IO monad) yes. But bind is a more general property of monads, and monads themselves are more general than a sequence (whether of data or operations)
20:02:35 <lucky> Izem: e.g. a list is just a item bound to a list with an item bound to a list... etc.
20:02:50 <dminuoso> Im guessing explains the .align 8, to allow pointer tagging
20:03:01 <Izem> I'm going to design a programming language that's why I've been taking time to look at how other languages handle this
20:03:07 <Izem> lucky interesting
20:03:08 shriekingnoise joins (~shrieking@186.137.144.80)
20:03:14 <tput> bind is this (>>=) :: Monad m => m a -> (a -> m b) -> m b, this happens to enforce a dependency. we can use it to express sequencing, but it is more general than that
20:03:19 <lucky> ^ yes
20:03:37 <Izem> so monads are one of the key concepts in haskell, nice.
20:03:46 <dminuoso> Oh good. It's been a long time since we flooded unsuspecting newcomers with confusing bind explanations
20:03:46 <lucky> it's a mathematical property that when obeyed allows you to generalize about it, it turns out you can reason about sequences of imperative actions, and lists, using the same algorithms and structures
20:04:03 <dminuoso> Izem: Are you familiar with JavaScript?
20:04:06 <lucky> heh
20:04:10 <Izem> yeah in passing
20:04:26 <lucky> confusing people about monads is all haskell is good for, besides its beautiful expressivity anyway
20:04:38 <arjun> monads are overrated anyway
20:04:51 <arjun> team applicative anyone?
20:04:54 <lucky> heheh
20:05:05 <lucky> that's probably a better place to start, both in theory and in explanation
20:05:17 <Izem> do you guys program in clean as well?
20:05:23 <arjun> once upon a time, there lived a functor
20:05:29 × juhp quits (~juhp@128.106.188.199) (Ping timeout: 265 seconds)
20:05:53 <dminuoso> Izem: With a bit of squinting we can think of async/await as monadic, so this is one of the things of what Monad matches except traditional "sequence commands and assign results"
20:06:07 <dminuoso> (If we look close enough, it's not exactly true, but perhaps to an outsider it might look more motivating)
20:06:45 <Izem> oh, sorry I've not really looked in depth at async/await. I did in python though so I guess it's the same?
20:07:18 × ubert quits (~Thunderbi@p200300ecdf259df0e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
20:07:49 <tput> Haskell is lazy, so in general it's hard to know when something will actually get eval'd, but in (>>=) :: m a -> (a -> m b) -> m b, to get the result we need to use the function of type (a -> m b), but to use that we need an a from the m a. a monad instance for a type describes how to do that (generally without giving access to the 'a' outside of a bind). This let's us force m a to be eval'd before m b.
20:07:56 juhp joins (~juhp@128.106.188.199)
20:08:45 <arjun> are you okay with your undestanding of typeclasses ?
20:08:56 <dminuoso> Well, so in JavaScript you have these promises, and you'd usually work with them as `httpRequest().then((response) => use(response))`. With async/await you can just write this as `const response = await httpRequest(); use(response)`
20:08:59 <dminuoso> handwavingly
20:09:40 <dminuoso> In Haskell this would correspond to `httpRequest >>= (\response -> use response)`, or written in do-notation `do { response <- httpRequest; use response }`
20:09:56 <dminuoso> This is only very suggestive, though
20:10:49 <Izem> arjun who is this question for?
20:10:56 <Izem> dminuoso thanks
20:11:21 <dminuoso> Izem: Similarly, you might have a function concatMap (which maps each element to a list, and then flattens the resulting nested list by one level). So you could either write: `concatMap [1,2,3] (\i -> [10 * i, 20 * i])` or `do { i <- [1,2,3]; [10 * i, 20 * i ]}`
20:12:05 × kw quits (~user@2605:a601:a615:f600:601:15f2:ebf9:271) (Read error: Connection reset by peer)
20:12:22 <arjun> who here is trying to understand monads ?
20:12:45 kw joins (~user@2605:a601:a615:f600:601:15f2:ebf9:271)
20:12:52 <arjun> when i was new. i tried understanding `What` a monad was. i failed. miserably
20:13:01 <arjun> then i just tried using it
20:13:02 × GIANTWORLDKEEPER quits (~pjetcetal@2.95.204.25) (Quit: EXIT)
20:13:21 <arjun> in the most rudimentary terms of my understading say
20:13:21 <Izem> that would me me
20:13:42 <arjun> anything that implements the fmap function, is a Functor.
20:13:48 GIANTWORLDKEEPER joins (~pjetcetal@2.95.204.25)
20:13:54 <arjun> you copy ?
20:14:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
20:15:05 <arjun> so, anything that implements the (>>=) function, is a monad
20:15:27 <arjun> there are some laws that need to be satified here but apart from that
20:15:35 <arjun> if it quacks, it s duck.
20:15:40 <arjun> a duckonomy
20:15:41 <davean> uh, the laws are a pretty big deal
20:15:49 <arjun> a duck*
20:16:01 <arjun> davean: so are monads : P
20:16:06 × cjay- quits (cjay@nerdbox.nerd2nerd.org) (Quit: Reconnecting)
20:16:12 cjay joins (cjay@nerdbox.nerd2nerd.org)
20:16:14 <dminuoso> monochrom: trick question then, if thats pointer tagging, wouldn't +1 mean Nothing (since that's the first constructor)
20:16:31 <tput> I think it's fair to not worry too much about the laws until you're writing your own instances
20:16:43 × cjay quits (cjay@nerdbox.nerd2nerd.org) (Client Quit)
20:16:56 cjay joins (cjay@nerdbox.nerd2nerd.org)
20:17:15 <dminuoso> Unless of course GHC changed its pointer tagging rules..
20:19:57 × Guest38 quits (~textual@188-182-241-27-dynamic.dk.customer.tdc.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:20:24 danidiaz1 joins (~ESDPC@static-172-64-63-95.ipcom.comunitel.net)
20:20:26 <dminuoso> oh wait, im thinking wrong here.
20:20:42 <dminuoso> this is the pointer tag for I#
20:21:15 <dminuoso> Yeah everything is clicking in suddenly :)
20:21:47 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
20:22:21 × arjun quits (~user@user/arjun) (Ping timeout: 268 seconds)
20:22:53 × danidiaz quits (~ESDPC@static-172-64-63-95.ipcom.comunitel.net) (Ping timeout: 265 seconds)
20:29:20 prite joins (~pritam@user/pritambaral)
20:30:08 pavonia joins (~user@user/siracusa)
20:30:23 ixlun joins (~matthew@109.249.184.235)
20:31:20 <ixlun> Hi all. Could someone explain why this doesn't work? https://termbin.com/t1eo
20:31:48 <geekosaur> return is not a keyword
20:31:57 <geekosaur> return (t + 1)
20:32:09 <geekosaur> :t return
20:32:10 <lambdabot> Monad m => a -> m a
20:32:50 <ixlun> Ah sorry, I missed that one, but I'm still getting the error: Couldn't match type ‘m’ with ‘Either String’
20:33:13 <ixlun> Which I don't understand since I thought Either was an instance of MonadThrow
20:33:35 <dminuoso> ixlun: Your type signature claims its polymorphically *all* MonadThrow.
20:33:45 <geekosaur> yeh
20:33:57 <dminuoso> but `x` is locked to Either, only one can be true.
20:34:00 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 265 seconds)
20:34:04 <geekosaur> you claim via your type signature that you can take any MonadThrow, then you specify a particular one
20:35:31 <dminuoso> ixlun: The weight of writing a polymorphic value (one that mentions a type variable in its type signature, roughly) is, that the *caller* decides/chooses a type for the type variable. If you write `foo :: MonadThrow m => m Int` it means the caller could pick `foo :: STM Int`
20:36:26 <ixlun> Right, and that wouldn't then match with the Either
20:37:52 <ixlun> So, why then have an instance of MonadThrow for Either if that can't be translated to the general case?
20:37:58 <dminuoso> ixlun: More importantly, your do-notation induces a use of `(>>=) :: Either String Int -> (Int -> Either String Int) -> Either String Int`, so if you inferred the type of the entire do-expression, it'd be `Either String Int`
20:38:21 <dminuoso> The point is to use it the other way around, instead of using any particular instance, you only use the methods to stay polymorphically over any
20:38:48 <dminuoso> You may only fmap/<*>/pure/=<</throwM
20:39:12 <dminuoso> And then it works in any MonadThrow, giving the caller the freedom to use his monad of choice
20:39:15 × smitop2 quits (uid328768@user/smitop) (Quit: Connection closed for inactivity)
20:39:19 <dminuoso> Rather than locking into a particular monad
20:40:19 <ixlun> Riight, I see. The instances are how the *caller* chooses to 'implement' the error handling
20:40:29 <dminuoso> Correct.
20:41:34 <ixlun> So, in this instance, how would could I 'lift' the Either to `m Int`?
20:41:42 <dminuoso> You cant.
20:41:59 <ixlun> Ah.
20:42:05 <dminuoso> But you can use throwM.
20:42:22 <dminuoso> Note however, that this is for Exceptions.
20:42:34 <dminuoso> instance e ~ SomeException => MonadThrow (Either e)
20:43:09 × amahl quits (~amahl@dxv5skyjn4s74c7h9slvt-3.rev.dnainternet.fi) (Remote host closed the connection)
20:43:28 <ixlun> So you're saying that `x` should use `throwM`?
20:43:41 <ixlun> Rather than `Left`
20:43:45 <dminuoso> MonadThrow really rather generalizes IO exceptions, you probably want to use MonadError rather
20:49:11 <ixlun> Okay, I think I'm getting it after doing a bit more reading. Thanks for the help
20:52:01 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
20:57:34 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
20:59:43 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8) (Remote host closed the connection)
20:59:50 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a54f:2e66:1417:26d8)
21:02:41 × Izem quits (~Izem@bras-base-london1483w-grc-38-65-95-41-91.dsl.bell.ca) (Quit: Connection closed)
21:04:03 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
21:05:41 ixlun- joins (~matthew@109.249.184.235)
21:08:14 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
21:08:17 × mpt quits (~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
21:11:05 × chaosite quits (~chaosite@user/chaosite) (Ping timeout: 252 seconds)
21:13:57 ddellacosta joins (~ddellacos@86.106.121.75)
21:14:06 × ddellaco_ quits (~ddellacos@89.46.62.83) (Ping timeout: 264 seconds)
21:17:08 × ikex quits (~ash@user/ikex) (Ping timeout: 252 seconds)
21:19:56 mpt joins (~tom@p57a566da.dip0.t-ipconnect.de)
21:21:08 × ixlun quits (~matthew@109.249.184.235) (Read error: Connection reset by peer)
21:21:08 × ixlun- quits (~matthew@109.249.184.235) (Read error: Connection reset by peer)
21:21:38 chaosite joins (~chaosite@user/chaosite)
21:22:33 × mastarija quits (~mastarija@46.188.137.31) (Quit: Leaving)
21:22:34 haltux joins (~haltux@a89-154-181-47.cpe.netcabo.pt)
21:24:42 × haltux quits (~haltux@a89-154-181-47.cpe.netcabo.pt) (Read error: No route to host)
21:26:10 × chaosite quits (~chaosite@user/chaosite) (Ping timeout: 245 seconds)
21:31:14 ddellaco_ joins (~ddellacos@86.106.143.157)
21:31:32 × Guest9 quits (~Guest9@103.240.170.183) (Quit: Connection closed)
21:40:14 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
21:43:26 × fendor quits (~fendor@178.165.131.187.wireless.dyn.drei.com) (Remote host closed the connection)
21:45:21 × imdoor quits (~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor)
21:47:40 × xff0x_ quits (~xff0x@2001:1a81:5380:1300:5902:1ae3:48e2:5ce8) (Ping timeout: 272 seconds)
21:48:06 xff0x_ joins (~xff0x@2001:1a81:5380:1300:997a:5bba:2f5a:1c40)
21:48:36 jakalx parts (~jakalx@base.jakalx.net) ()
21:50:11 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
21:50:50 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 272 seconds)
21:52:52 × ddellacosta quits (~ddellacos@86.106.121.75) (Remote host closed the connection)
21:53:05 lavaman joins (~lavaman@98.38.249.169)
21:53:41 ddellacosta joins (~ddellacos@86.106.121.75)
21:54:32 jakalx joins (~jakalx@base.jakalx.net)
21:56:31 dhil joins (~dhil@195.213.192.47)
21:56:47 pritambaral joins (~pritam@user/pritambaral)
21:57:18 × prite quits (~pritam@user/pritambaral) (Ping timeout: 264 seconds)
21:57:53 × ddellacosta quits (~ddellacos@86.106.121.75) (Ping timeout: 244 seconds)
21:58:04 × Erutuon quits (~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
21:58:45 Erutuon joins (~Erutuon@user/erutuon)
21:58:51 ddellacosta joins (~ddellacos@86.106.121.65)
22:00:51 × ddellacosta quits (~ddellacos@86.106.121.65) (Read error: Connection reset by peer)
22:04:47 ddellacosta joins (~ddellacos@89.46.62.57)
22:06:18 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 264 seconds)
22:07:30 stefan-_ joins (~cri@42dots.de)
22:09:05 × ddellacosta quits (~ddellacos@89.46.62.57) (Ping timeout: 245 seconds)
22:09:54 × dhil quits (~dhil@195.213.192.47) (Quit: Leaving)
22:10:43 ddellacosta joins (~ddellacos@86.106.121.35)
22:11:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:11:34 × geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Remote host closed the connection)
22:11:38 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:12:24 geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com)
22:12:35 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:15:02 × ddellaco_ quits (~ddellacos@86.106.143.157) (Remote host closed the connection)
22:15:11 ddellaco_ joins (~ddellacos@86.106.143.157)
22:15:18 × ddellaco_ quits (~ddellacos@86.106.143.157) (Remote host closed the connection)
22:17:00 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 245 seconds)
22:17:26 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
22:17:38 × fluffyballoon quits (~fluffybal@pat-verona-h.epic.com) (Ping timeout: 250 seconds)
22:17:40 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 268 seconds)
22:19:06 Erutuon joins (~Erutuon@user/erutuon)
22:21:39 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 244 seconds)
22:27:13 HarveyPwca joins (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
22:29:00 allbery_b joins (~geekosaur@069-135-003-034.biz.spectrum.com)
22:30:20 × geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 245 seconds)
22:34:30 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
22:35:46 bilegeek joins (~bilegeek@2600:1008:b06d:65ed:93d7:e6a:a06d:9e4)
22:35:52 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:36:09 × WorldSEnder quits (~martin@88.215.103.12) (Quit: WeeChat 3.1)
22:36:19 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
22:38:15 allbery_b is now known as geekosaur
22:39:16 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev)
22:41:06 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Ping timeout: 268 seconds)
22:44:50 danidiaz1 parts (~ESDPC@static-172-64-63-95.ipcom.comunitel.net) ()
22:46:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
22:47:26 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1)
22:48:42 × michalz quits (~user@185.246.204.60) (Remote host closed the connection)
22:50:34 ddellaco_ joins (~ddellacos@89.45.224.235)
22:54:55 × ddellaco_ quits (~ddellacos@89.45.224.235) (Ping timeout: 245 seconds)
22:55:27 × ddellacosta quits (~ddellacos@86.106.121.35) (Remote host closed the connection)
22:56:16 ddellacosta joins (~ddellacos@86.106.121.35)
22:57:49 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 244 seconds)
23:00:05 waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
23:00:50 × ddellacosta quits (~ddellacos@86.106.121.35) (Ping timeout: 268 seconds)
23:10:30 × chomwitt quits (~Pitsikoko@athedsl-20549.home.otenet.gr) (Ping timeout: 264 seconds)
23:12:56 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
23:13:40 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
23:14:19 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
23:17:33 bfrk1 joins (~Thunderbi@200116b845406c003a5dd7b952e89ac0.dip.versatel-1u1.de)
23:19:00 × bfrk quits (~Thunderbi@200116b845d01a0023133a647a2f786d.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
23:19:00 bfrk1 is now known as bfrk
23:19:58 Bartosz joins (~textual@24.35.90.211)
23:23:15 × mpt quits (~tom@p57a566da.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
23:26:18 ddellacosta joins (~ddellacos@86.106.121.109)
23:26:49 ddellaco_ joins (~ddellacos@86.106.143.131)
23:29:29 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:31:10 × ddellaco_ quits (~ddellacos@86.106.143.131) (Ping timeout: 245 seconds)
23:31:55 × ddellacosta quits (~ddellacos@86.106.121.109) (Ping timeout: 244 seconds)
23:36:10 × smitop quits (~smitop@user/smitop) (Quit: Ping timeout (120 seconds))
23:37:36 × bfrk quits (~Thunderbi@200116b845406c003a5dd7b952e89ac0.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
23:38:06 smitop joins (~smitop@user/smitop)
23:38:33 × ssarah quits (~miguell@149.63.37.188.rev.vodafone.pt) (Remote host closed the connection)
23:40:44 dhil joins (~dhil@195.213.192.47)
23:41:34 × mc47 quits (~yecinem@89.246.239.190) (Remote host closed the connection)
23:45:00 ddellacosta joins (~ddellacos@86.106.121.21)
23:45:49 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
23:49:30 × ddellacosta quits (~ddellacos@86.106.121.21) (Ping timeout: 245 seconds)
23:50:57 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
23:53:10 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
23:53:48 × Baloo_ quits (~Baloo_@141.98.255.150) (Quit: Leaving)
23:55:43 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds)
23:55:55 ddellacosta joins (~ddellacos@86.106.121.82)
23:56:20 × ddellacosta quits (~ddellacos@86.106.121.82) (Remote host closed the connection)
23:56:49 ddellacosta joins (~ddellacos@86.106.121.82)
23:59:27 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 272 seconds)

All times are in UTC on 2021-06-04.