Home liberachat/#haskell: Logs Calendar

Logs on 2023-03-21 (liberachat/#haskell)

00:09:51 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94)
00:14:19 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Ping timeout: 256 seconds)
00:23:13 × Umeaboy quits (~Umeaboy@94-255-145-133.cust.bredband2.com) (Quit: Leaving)
00:31:32 × gdd quits (~gdd@2001:470:1f13:187:2eb4:3062:b059:4462) (Ping timeout: 265 seconds)
00:31:53 <dminuoso> https://gist.github.com/dminuoso/e17a7de0657cb707078176bdb081b806
00:31:57 gdd joins (~gdd@2001:470:1f13:187:2eb4:3062:b059:4462)
00:32:00 dminuoso has a low tolerance for Show
00:33:22 freeside joins (~mengwong@103.252.202.85)
00:33:49 × acidjnk_new quits (~acidjnk@p200300d6e715c4967481643c9dce377b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
00:35:29 <geekosaur> I'm confused. where does `Control.Concurrent.myThreadId` roundtrip through Show?
00:37:49 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
00:38:14 <dminuoso> geekosaur: Oh, if you ever want to visualize it (say the thread id in a logger), you cant do much with a ThreadId other than show it.
00:38:28 <dminuoso> I suppose I can just use myThreadId instead of the manual IO action at least.
00:39:44 <geekosaur> oh, right. that's kinda useless
00:40:12 <geekosaur> although I guess yours also has the advantage that it doesn't pin the thread since it goes behind the RTS's back
00:40:34 <dminuoso> myThreadId doesnt really do anything else
00:40:46 <geekosaur> see the comment on ThreadId
00:41:06 <dminuoso> ah huh
00:42:21 <dminuoso> So I guess I save myself an extra allocation.
00:42:35 <dminuoso> Good. So I can finally label my software with high performance.
00:46:38 <dminuoso> On that note should probably bind getThreadId to ThreadId# -> IO CULLong instead to sequence it properly
00:46:50 <dminuoso> Otherwise lazyness could bite me back
00:46:55 <dminuoso> Perhaps?
00:49:02 mauke_ joins (~mauke@user/mauke)
00:51:12 × mauke quits (~mauke@user/mauke) (Ping timeout: 264 seconds)
00:51:12 mauke_ is now known as mauke
00:52:05 <c_wraith> hidden deep in base, there's https://hackage.haskell.org/package/base-4.18.0.0/docs/GHC-Conc-Sync.html#v:threadCapability
00:52:33 <c_wraith> Which seems like exactly the primitive you'd want for striping a data structure
00:53:16 mrmr9 joins (~mrmr@user/mrmr)
00:53:49 <dminuoso> striping?
00:54:34 <c_wraith> Sometimes (depending on the use case) you can split your data structure into multiple independent sections so that concurrent access to different sections doesn't cause contention
00:55:05 <c_wraith> It works great for things that work like counters
00:55:50 <dminuoso> Given that you dont have guarantees about capabilities, how is the capability number going to help?
00:56:03 <dminuoso> That is, you might end up with some capabilities unused
00:56:20 sp00kins joins (~sp00kins@2601:5c9:4200:77b::b6)
00:56:33 × inversed quits (~inversed@bcdcac82.skybroadband.com) (Ping timeout: 246 seconds)
00:57:20 <c_wraith> well, striping based on capability id is going to prevent active contention unless the capability changes threads inside the critical section
00:58:04 <c_wraith> doing something like may let you drastically reduce the contention in an STM system, for instance
00:58:59 <dminuoso> Sure, but it would need some careful deliberation. If you do something naive like "let n be the capability number, so a worker always works every nth element" it could leave work undone
00:59:26 <dminuoso> But maybe you and I are thinking of different workloads or ways to stripe
00:59:46 <c_wraith> well sure. doing that would be incorrect. You'd do something like "this thread is on capability 1, so it uses the TVars in bucket 1"
01:00:50 <dminuoso> Ohh I see.
01:00:53 <c_wraith> though given that capability count can increase at runtime, you'd probably want a mod or something in there to deal with suddenly seeing capability id 1000 when you only have 8 buckets
01:01:10 <dminuoso> So something like capability indexed "workers" (fsvo worker)
01:01:26 <c_wraith> well. capability-indexed data.
01:01:43 <dminuoso> right
01:02:13 <c_wraith> but yeah. for *some* use cases, that can really help.
01:02:36 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
01:02:51 <c_wraith> there are plenty of use cases where it's bad, of course :)
01:02:53 <dminuoso> That's a cool trick to remember definitely.
01:06:55 × elevenkb quits (~elevenkb@105.186.233.148) (Quit: Client closed)
01:10:31 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:13 inversed joins (~inversed@bcdcac82.skybroadband.com)
01:16:38 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:20:42 <Artem[m]> anyone knows what means .\ at the end of a function name in a .prof file? When I have a function foo in my program, the profiling report would occasionally (for some foos) include foo.\. I use automatic cost center inclusion for all functions if this matters.
01:20:52 bramhaag joins (~bramhaag@134.195.121.39)
01:20:54 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:20:58 <slack1256> Artem[m]: I want to know too...
01:21:07 bramhaag joins (~bramhaag@134.195.121.39)
01:21:08 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:21:20 bramhaag joins (~bramhaag@134.195.121.39)
01:21:20 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:21:29 bramhaag joins (~bramhaag@134.195.121.39)
01:21:30 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:21:39 bramhaag joins (~bramhaag@134.195.121.39)
01:21:40 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:21:50 bramhaag joins (~bramhaag@134.195.121.39)
01:21:50 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:22:00 bramhaag joins (~bramhaag@134.195.121.39)
01:22:01 × bramhaag quits (~bramhaag@134.195.121.39) (Read error: Connection reset by peer)
01:22:12 bramhaag joins (~bramhaag@134.195.121.39)
01:22:13 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:22:26 bramhaag joins (~bramhaag@134.195.121.39)
01:22:26 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:22:42 bramhaag joins (~bramhaag@134.195.121.39)
01:22:43 × bramhaag quits (~bramhaag@134.195.121.39) (Read error: Connection reset by peer)
01:23:06 bramhaag joins (~bramhaag@134.195.121.39)
01:23:06 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:23:41 bramhaag joins (~bramhaag@134.195.121.39)
01:23:42 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:24:42 bramhaag joins (~bramhaag@134.195.121.39)
01:24:43 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:25:53 bramhaag joins (~bramhaag@134.195.121.39)
01:25:54 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:26:03 bramhaag joins (~bramhaag@134.195.121.39)
01:26:04 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:26:13 bramhaag joins (~bramhaag@134.195.121.39)
01:26:13 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:26:23 bramhaag joins (~bramhaag@134.195.121.39)
01:26:24 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:26:34 bramhaag joins (~bramhaag@134.195.121.39)
01:26:35 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:26:45 bramhaag joins (~bramhaag@134.195.121.39)
01:26:45 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
01:26:58 bramhaag joins (~bramhaag@134.195.121.39)
01:27:29 × mrmr9 quits (~mrmr@user/mrmr) (Read error: Connection reset by peer)
01:29:24 mrmr9 joins (~mrmr@user/mrmr)
01:31:47 × mrmr9 quits (~mrmr@user/mrmr) (Read error: Connection reset by peer)
01:32:21 × gurkenglas quits (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de) (Ping timeout: 250 seconds)
01:35:08 <bramhaag> I'm trying to parse a programming language with many ambiguities. It is so ambiguous that lexing does not make a lot of sense. I wanted to use parser combinators, but megaparsec does not have a built-in way to generate all parse trees, and ReadP is not flexible enough for my use case. Happy in GLR mode will be my last resort, does anyone have any
01:35:08 <bramhaag> other suggestions maybe?
01:36:45 mrmr9 joins (~mrmr@user/mrmr)
01:39:03 × mrmr9 quits (~mrmr@user/mrmr) (Read error: Connection reset by peer)
01:44:27 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds)
01:48:37 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:53:27 <sm> bramhaag: even megaparsec's expression parser ?
01:55:02 freeside joins (~mengwong@103.252.202.85)
01:56:58 <bramhaag> sm: tbh haven't tried the expression parser. Though I'm not sure if it can deal with custom disambiguation heuristics?
01:57:58 <sm> probably not, but it helps parse "combinations of things in any order" so I figured it might be worth a try
01:58:12 <bramhaag> An example of what I'm trying to parse: https://paste.tomsmeding.com/2asgHwHG Keywords are not reserved, and marked with * * here. Disambiguation rule is as follows: if ambiguity arises, uppercase words are considered keywords, otherwise identifiers
01:58:14 <sm> you could process the result further afterward
02:01:01 × sp00kins quits (~sp00kins@2601:5c9:4200:77b::b6) (Quit: sp00kins)
02:01:54 sp00kins joins (~sp00kins@c-73-171-2-129.hsd1.va.comcast.net)
02:02:16 <bramhaag> I think it would be easiest to apply said heuristic to a parse forest, as in that case the ambiguous situations are clear. I don't see an immediate way to disambiguate the result of a megaparsec parser
02:03:17 × sp00kins quits (~sp00kins@c-73-171-2-129.hsd1.va.comcast.net) (Client Quit)
02:07:39 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 260 seconds)
02:11:34 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94)
02:16:07 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Ping timeout: 250 seconds)
02:19:20 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
02:19:21 × sagax quits (~sagax_nb@user/sagax) (Remote host closed the connection)
02:20:59 × phma quits (~phma@2001:5b0:211c:53d8:9ceb:db03:6719:e454) (Ping timeout: 248 seconds)
02:30:25 × hrberg quits (~quassel@171.79-160-161.customer.lyse.net) (Ping timeout: 250 seconds)
02:32:22 hrberg joins (~quassel@171.79-160-161.customer.lyse.net)
02:34:41 freeside joins (~mengwong@103.252.202.85)
02:39:21 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
02:42:12 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
02:43:29 cassiopea joins (~cassiopea@user/cassiopea)
02:46:55 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
02:53:25 gehmehgeh joins (~user@user/gehmehgeh)
02:54:28 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
02:56:26 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds)
03:00:33 freeside joins (~mengwong@103.252.202.85)
03:02:06 razetime joins (~Thunderbi@43.254.111.18)
03:07:56 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
03:10:49 Katarushisu1 joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
03:12:39 × Katarushisu quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 255 seconds)
03:12:39 Katarushisu1 is now known as Katarushisu
03:15:23 × td_ quits (~td@i5387092A.versanet.de) (Ping timeout: 265 seconds)
03:17:04 td_ joins (~td@i5387090D.versanet.de)
03:25:27 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
03:30:37 freeside joins (~mengwong@103.252.202.85)
03:31:41 motherfsck joins (~motherfsc@user/motherfsck)
03:38:55 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
03:39:19 × gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Ping timeout: 250 seconds)
03:44:36 × razetime quits (~Thunderbi@43.254.111.18) (Ping timeout: 255 seconds)
03:47:16 razetime joins (~Thunderbi@43.254.111.18)
03:47:17 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 265 seconds)
03:48:01 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:48:01 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:48:01 finn_elija is now known as FinnElija
03:48:25 gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4)
03:49:38 freeside joins (~mengwong@103.252.202.85)
03:54:03 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
03:55:02 × gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Ping timeout: 246 seconds)
03:58:41 motherfsck joins (~motherfsc@user/motherfsck)
04:01:54 mbuf joins (~Shakthi@49.207.178.186)
04:03:02 gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4)
04:07:35 × gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Ping timeout: 260 seconds)
04:14:16 freeside joins (~mengwong@103.252.202.85)
04:20:23 gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4)
04:20:31 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
04:21:34 × msavoritias quits (cb716af6b3@irc.cheogram.com) (Ping timeout: 252 seconds)
04:23:03 trev joins (~trev@user/trev)
04:24:24 vglfr joins (~vglfr@88.155.43.4)
04:25:25 jakalx parts (~jakalx@base.jakalx.net) ()
04:27:43 × gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Remote host closed the connection)
04:27:56 gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4)
04:31:28 mikoto-chan joins (~mikoto-ch@dy54z4y1t9qnwdj1ryyby-4.rev.dnainternet.fi)
04:32:47 × gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Ping timeout: 246 seconds)
04:37:55 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
04:38:15 × Square quits (~Square4@user/square) (Ping timeout: 250 seconds)
04:39:36 freeside joins (~mengwong@103.252.202.85)
04:39:50 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 246 seconds)
04:40:04 × johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
04:43:53 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 250 seconds)
04:44:52 gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4)
04:51:38 × gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Ping timeout: 252 seconds)
04:53:07 freeside joins (~mengwong@103.252.202.85)
04:55:17 azimut joins (~azimut@gateway/tor-sasl/azimut)
04:57:30 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 252 seconds)
05:01:31 × foul_owl quits (~kerry@157.97.134.62) (Quit: WeeChat 2.3)
05:03:48 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
05:08:08 × echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8)
05:09:13 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection)
05:09:26 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
05:15:34 echoreply joins (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d)
05:16:42 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 265 seconds)
05:19:15 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
05:24:13 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 268 seconds)
05:24:52 × shriekingnoise quits (~shrieking@186.137.175.87) (Quit: Quit)
05:25:13 shriekingnoise joins (~shrieking@186.137.175.87)
05:25:37 × razetime quits (~Thunderbi@43.254.111.18) (Quit: See You Space Cowboy)
05:25:51 razetime joins (~Thunderbi@43.254.111.18)
05:28:03 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
05:31:55 × mikoto-chan quits (~mikoto-ch@dy54z4y1t9qnwdj1ryyby-4.rev.dnainternet.fi) (Ping timeout: 248 seconds)
05:32:25 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 250 seconds)
05:34:24 × slack1256 quits (~slack1256@181.42.50.18) (Ping timeout: 255 seconds)
05:37:08 freeside joins (~mengwong@103.252.202.85)
05:41:51 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
05:42:35 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
05:50:43 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 260 seconds)
06:00:29 jakalx joins (~jakalx@base.jakalx.net)
06:01:48 foul_owl joins (~kerry@71.212.143.88)
06:04:31 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 276 seconds)
06:06:42 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
06:07:21 msavoritias joins (cb716af6b3@irc.cheogram.com)
06:08:41 johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
06:09:00 freeside joins (~mengwong@103.252.202.85)
06:12:06 × jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
06:14:42 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
06:14:55 × razetime quits (~Thunderbi@43.254.111.18) (Ping timeout: 276 seconds)
06:19:14 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:24:48 × trev quits (~trev@user/trev) (Ping timeout: 255 seconds)
06:39:33 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:43:06 freeside joins (~mengwong@103.252.202.85)
06:46:36 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 265 seconds)
06:48:00 pyook joins (~pyook@user/puke)
06:48:39 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
06:49:52 jmorris joins (uid537181@id-537181.uxbridge.irccloud.com)
06:53:32 trev joins (~trev@user/trev)
06:58:21 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
07:00:20 × byorgey quits (~byorgey@155.138.238.211) (Quit: Lost terminal)
07:06:04 freeside joins (~mengwong@103.252.202.85)
07:06:12 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 252 seconds)
07:06:24 Guest9660 joins (~Md@2a02:6b66:d2b1:0:2917:6e02:d698:a5d8)
07:10:46 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
07:11:14 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
07:11:51 freeside joins (~mengwong@103.252.202.85)
07:15:55 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 248 seconds)
07:17:17 razetime joins (~Thunderbi@117.193.0.81)
07:19:12 × razetime quits (~Thunderbi@117.193.0.81) (Client Quit)
07:19:28 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
07:20:15 kenran joins (~user@user/kenran)
07:22:13 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
07:23:54 titibandit_ joins (~titibandi@xdsl-87-78-162-189.nc.de)
07:24:47 × titibandit_ quits (~titibandi@xdsl-87-78-162-189.nc.de) (Remote host closed the connection)
07:29:07 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:32:17 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds)
07:32:31 × vglfr quits (~vglfr@88.155.43.4) (Ping timeout: 265 seconds)
07:32:38 freeside joins (~mengwong@122.11.248.245)
07:33:54 vicfred joins (~vicfred@user/vicfred)
07:36:43 × vicfred quits (~vicfred@user/vicfred) (Client Quit)
07:37:15 vicfred joins (~vicfred@user/vicfred)
07:44:20 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
07:44:36 smallville7123 joins (~Android@cpe-172-193-72-46.qld.foxtel.net.au)
07:46:02 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
07:49:46 machinedgod joins (~machinedg@node-1w7jr9yirp0ap2d6xfacos1ph.ipv6.telus.net)
07:54:11 zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe)
07:56:38 lortabac joins (~lortabac@2a01:e0a:541:b8f0:6861:4c48:824b:2934)
07:57:10 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 265 seconds)
08:00:15 gurkenglas joins (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de)
08:02:20 CiaoSen joins (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
08:05:05 vpan joins (~0@212.117.1.172)
08:05:11 <dminuoso> bramhaag: Why does lexing not make a lot of sense?
08:05:40 <dminuoso> I think most issues from "lexing is difficult" arise from thinking about lexing in the wrong direcftion.
08:06:01 <dminuoso> That is, lexers dont push tokens into a parser, a parser demands tokens as needed - and you can do that with non-determinism just fine.
08:06:08 <tomsmeding> bramhaag: https://hackage.haskell.org/package/Earley also seems to give you all parse trees
08:06:12 <dminuoso> (It might have severe performance implications, but that's another story)
08:08:30 mastarija joins (~mastarija@188.252.199.22)
08:08:58 <mauke> oh, like perl-style context-dependent lexing?
08:11:27 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 250 seconds)
08:11:54 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
08:12:56 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:19:19 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
08:20:10 <tomsmeding> Artem[m]: isn't that a lambda within foo?
08:23:34 × vicfred quits (~vicfred@user/vicfred) (Quit: leaving)
08:23:40 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:24:59 × Guest9660 quits (~Md@2a02:6b66:d2b1:0:2917:6e02:d698:a5d8) (Quit: Leaving)
08:28:10 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 276 seconds)
08:28:21 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 250 seconds)
08:28:35 × smallville7123 quits (~Android@cpe-172-193-72-46.qld.foxtel.net.au) (Ping timeout: 265 seconds)
08:30:25 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
08:30:59 acidjnk_new joins (~acidjnk@p200300d6e715c49690267839e4058790.dip0.t-ipconnect.de)
08:32:36 × foul_owl quits (~kerry@71.212.143.88) (Ping timeout: 255 seconds)
08:33:48 gehmehgeh joins (~user@user/gehmehgeh)
08:34:24 hugo joins (znc@verdigris.lysator.liu.se)
08:39:03 chomwitt joins (~chomwitt@2a02:587:7a19:3600:1ac0:4dff:fedb:a3f1)
08:39:33 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
08:43:10 × ft quits (~ft@p3e9bc443.dip0.t-ipconnect.de) (Quit: leaving)
08:46:56 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 246 seconds)
08:47:27 <mon_aaraj> I've been wanting to learn (well, i actually want to "grok") can extensions for a while. I do know that when employed in haskell, they allow us to make abstractions more efficient (i've heard about how it can make stuff faster), what else do kan extensions allow? and what resources would you recommend for me to learn or grok kan extensions, at least for a programming context?
08:48:16 foul_owl joins (~kerry@157.97.134.63)
08:48:33 chele joins (~chele@user/chele)
08:50:26 <dminuoso> mauke: many parsers do it that way.
08:50:56 <dminuoso> Fairly sure even GHC does it
08:51:26 <dminuoso> The happy documentation has some extensive examples in this direction
08:51:49 <dminuoso> In fact, if you think about how production rules are made, you cant really do it any other way
08:58:20 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
09:00:08 × JonathanWatson[m quits (~jjwmatrix@2001:470:69fc:105::2:a544) (Quit: You have been kicked for being idle)
09:00:42 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
09:03:10 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 252 seconds)
09:03:49 razetime joins (~Thunderbi@117.193.0.81)
09:06:02 michalz joins (~michalz@185.246.207.215)
09:06:33 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
09:06:46 <tomsmeding> bramhaag: to be honest, that sounds like a pretty bad programming language to work in, if its syntax is dependent on whether whole expressions end up ambiguous or not :p
09:11:15 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 250 seconds)
09:13:40 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
09:20:09 elkcl_ joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru)
09:22:07 × elkcl quits (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Ping timeout: 276 seconds)
09:22:07 elkcl_ is now known as elkcl
09:28:19 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:29:39 × jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
09:31:11 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:31:33 × Putonlalla quits (~Putonlall@it-cyan.it.jyu.fi) (Ping timeout: 255 seconds)
09:32:00 euandreh joins (~Thunderbi@189.6.18.7)
09:33:28 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
09:35:29 Umeaboy joins (~Umeaboy@94-255-145-133.cust.bredband2.com)
09:38:29 vglfr joins (~vglfr@88.155.27.80)
09:44:31 × pyook quits (~pyook@user/puke) ()
09:47:52 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
09:50:36 <dminuoso> Is there an elegant way to express `let [a,b,c,d] = take 4 xs` without triggering incomppete-uni-patterns?
09:50:48 <dminuoso> Something that will locally suppress this error?
09:51:17 <dminuoso> maybe a kind of `let [a,b,c,d] | magicGhcThing = take 4 xs` ?
09:52:09 <dminuoso> Gah I clearly recall this exists.
09:52:23 <merijn> ~ ? :p
09:53:10 <dminuoso> merijn: not enough on 9.2.6
09:53:22 <dminuoso> pattern coverage checker has become good
09:54:11 <dminuoso> Ohh no, I was thinking about considerAccessible
09:54:21 <dminuoso> Ah, but perhaps I can use this.
09:56:02 <dminuoso> Perhaps pattern synonym + COMPLETE is the only solution here
09:57:25 × elkcl quits (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Remote host closed the connection)
09:58:31 <tomsmeding> dminuoso: is that 4 a static or runtime value
09:58:53 <tomsmeding> let a :> b :> c :> d :> HNil = take @4 xs
09:59:28 elkcl joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru)
10:00:18 Putonlalla joins (~Putonlall@it-cyan.it.jyu.fi)
10:01:28 <dminuoso> tomsmeding: its static and in reality its 16.
10:01:46 <dminuoso> IP addresses as usual :)
10:01:56 <tomsmeding> ah :)
10:02:12 <tomsmeding> but yeah, the "right" solution is to use a length-indexed vector
10:02:20 <tomsmeding> where right /= most convenient
10:03:12 <tomsmeding> if you feel really adventurous you can replace "take @4 xs" by "unsafeCoerce (take 4 xs)" above
10:03:31 <tomsmeding> if you've checked that the HList implementation is representationally equivalent to usual lists >:D
10:04:51 <tomsmeding> dminuoso: also what if xs is too short
10:05:40 <Umeaboy> What am I doing wrong here? I was planning to use an already built rpm from petersen to build ghc for Mageia: https://copr.fedorainfracloud.org/coprs/umeaman/ghc/build/5685686/
10:06:01 <Umeaboy> I know the package exists because I can download it manually.
10:06:44 <Umeaboy> I see that it's missing an xml file, but if one uses the instructions to add external repos it should find it.
10:07:04 <dminuoso> tomsmeding: its never going to happen
10:07:07 <Umeaboy> I'd like some help if anyone is willing to help.
10:07:15 gemmaro joins (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc)
10:07:42 <dminuoso> tomsmeding: this is the full original line:
10:07:46 <dminuoso> let [w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, w16] = take 16 (ws ++ repeat 0)
10:07:58 <dminuoso> I kind of wish pattern coverage would *see* that cant possibly be partial.
10:08:04 <tomsmeding> dminuoso: that `++ repeat 0`
10:08:24 <dminuoso> tomsmeding: Dont ask.
10:08:43 <tomsmeding> let w1 :> ... :> w16 :> HNil = takeStream @16 (paddedStream 0 ws)
10:08:44 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
10:08:52 <tomsmeding> data Stream a = More a (Stream a)
10:09:22 <dminuoso> I think I may as well just use a pattern synonym then
10:09:28 <tomsmeding> paddedStream p (x:xs) = x `More` paddedStream p xs ; paddedStream p [] = fix (p `More`)
10:09:29 <dminuoso> rather than sprinkle hlists over this
10:09:39 <tomsmeding> :p yeah
10:10:14 <dminuoso> Alternatively maybe a GHC plugin!
10:10:25 <tomsmeding> O.o
10:10:26 <dminuoso> Id love to explain that to my colleagues.
10:10:36 <dminuoso> "But there was this benign warning..
10:10:50 <[Leary]> It's not like you need HList. You can just use the stream constructor itself in your pattern match, right?
10:11:31 <tomsmeding> fair point
10:12:02 <[Leary]> Write a `padToStream :: a -> [a] -> Stream a`, then do `let w1:.w2:. (...) = padToStream ws in (...)`.
10:12:22 <[Leary]> (where data Stream a = a :. Stream a)
10:13:17 × mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving)
10:14:55 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds)
10:17:49 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 265 seconds)
10:19:29 ubert1 joins (~Thunderbi@2a02:8109:abc0:6434:de79:4694:671d:d823)
10:21:35 hugo joins (znc@verdigris.lysator.liu.se)
10:28:49 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
10:31:40 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94)
10:31:50 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds)
10:32:43 × son0p quits (~ff@181.136.122.143) (Ping timeout: 250 seconds)
10:33:00 phma joins (~phma@2001:5b0:211c:53d8:fa79:3596:87fb:9a7b)
10:35:55 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Ping timeout: 248 seconds)
10:38:28 hugo joins (znc@verdigris.lysator.liu.se)
10:40:38 yoneda joins (~mike@193.206.102.122)
10:44:31 jerg joins (~jerg@2001:a61:2611:1701:e737:6af:a06e:d388)
10:49:15 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:49:53 __monty__ joins (~toonn@user/toonn)
10:57:12 × chomwitt quits (~chomwitt@2a02:587:7a19:3600:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds)
10:58:22 freeside_ joins (~mengwong@202.161.55.11)
11:00:55 × freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds)
11:11:37 kenaryn joins (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr)
11:12:00 MasseR46 joins (thelounge@2001:bc8:47a0:1521::1)
11:14:56 × vglfr quits (~vglfr@88.155.27.80) (Ping timeout: 246 seconds)
11:19:43 <Artem[m]> <tomsmeding> "Artem: isn't that a lambda..." <- Oh, that makes sense, thank you. Judging by the line numbers reported, it's a branch of a case, but it'd make sense that it's turned into a lambda I guess
11:20:02 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 268 seconds)
11:21:17 nschoe joins (~q@141.101.51.197)
11:22:03 × kenaryn quits (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving)
11:27:35 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
11:31:30 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
11:36:12 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 255 seconds)
11:38:53 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
11:40:23 <dminuoso> Is there a reason why one might call `unmask bracket acq rel foo` rather than `bracket acq rel (unmask foo)`?
11:40:41 <dminuoso> err, `unmask (bracket acq rel foo)` vs `bracket acq rel (unmask foo)`
11:42:16 <Artem[m]> Actually, there's a lambda there
11:43:18 <dminuoso> Oh, sure. Im just rewriting a snippet I was staring it.
11:43:23 <dminuoso> Think bracket_ then.
11:43:42 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
11:47:07 × kee quits (~~kee@user/wizzwizz4) (Ping timeout: 252 seconds)
11:47:29 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 246 seconds)
11:47:47 notzmv joins (~zmv@user/notzmv)
11:48:54 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
11:51:55 kee joins (~~kee@user/wizzwizz4)
11:53:35 × CiaoSen quits (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
12:06:11 × xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 264 seconds)
12:06:17 euandreh joins (~Thunderbi@189.6.18.7)
12:07:57 xff0x joins (~xff0x@178.255.149.135)
12:10:42 × dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection)
12:22:33 × xff0x quits (~xff0x@178.255.149.135) (Ping timeout: 255 seconds)
12:23:13 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 250 seconds)
12:23:48 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
12:24:16 xff0x joins (~xff0x@ai098135.d.east.v6connect.net)
12:27:18 × razetime quits (~Thunderbi@117.193.0.81) (Quit: See You Space Cowboy)
12:34:36 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 265 seconds)
12:34:38 <Artem[m]> dminuoso: I'm sorry for not being clear but I was replying to something else (my own message above)
12:34:51 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
12:36:34 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
12:41:11 son0p joins (~ff@181.136.122.143)
12:43:18 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
12:44:25 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
12:44:45 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 265 seconds)
12:46:13 × gurkenglas quits (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de) (Ping timeout: 276 seconds)
12:47:30 gurkenglas joins (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de)
12:57:32 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
13:01:08 Guest19 joins (~Guest19@145.107.112.113)
13:04:13 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 246 seconds)
13:09:42 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
13:13:45 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection)
13:13:59 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
13:14:20 <dminuoso> Artem[m]: Ah, well incidentally it was right in my context too. :-P
13:14:36 <dminuoso> Given that bracket takes a function as its third argument bracket :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c
13:18:34 × gurkenglas quits (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de) (Ping timeout: 246 seconds)
13:19:45 CiaoSen joins (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
13:20:40 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 276 seconds)
13:23:56 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
13:31:22 gurkenglas joins (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de)
13:39:35 vglfr joins (~vglfr@88.155.34.83)
13:47:12 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
13:51:11 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
13:51:43 stackdroid18 joins (14094@de1.hashbang.sh)
13:52:33 × kaskal quits (~kaskal@089144220250.atnat0029.highway.webapn.at) (Ping timeout: 255 seconds)
13:57:15 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds)
14:00:43 × gurkenglas quits (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de) (Ping timeout: 248 seconds)
14:00:48 × jerg quits (~jerg@2001:a61:2611:1701:e737:6af:a06e:d388) (Quit: Leaving)
14:02:22 gurkenglas joins (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de)
14:04:13 motherfsck joins (~motherfsc@user/motherfsck)
14:05:21 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
14:05:22 × irrgit__ quits (~irrgit@86.106.90.226) (Read error: Connection reset by peer)
14:05:42 ratapaca joins (~ratapaca@98.40.240.33)
14:06:22 × ratapaca quits (~ratapaca@98.40.240.33) (Client Quit)
14:06:35 jushur joins (~human@user/jushur)
14:11:47 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Read error: Connection reset by peer)
14:18:51 mmhat joins (~mmh@p200300f1c715f7a1ee086bfffe095315.dip0.t-ipconnect.de)
14:18:53 × mmhat quits (~mmh@p200300f1c715f7a1ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
14:20:39 × kimjetwav quits (~user@2607:fea8:235e:b600:9f24:e4a7:bfdd:ae72) (Ping timeout: 250 seconds)
14:21:19 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 248 seconds)
14:21:44 thegeekinside joins (~thegeekin@189.141.115.134)
14:27:53 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection)
14:28:07 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
14:31:03 × CiaoSen quits (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
14:33:01 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
14:33:30 × vglfr quits (~vglfr@88.155.34.83) (Ping timeout: 255 seconds)
14:33:51 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
14:34:46 shriekingnoise joins (~shrieking@186.137.175.87)
14:35:54 × perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.8)
14:36:01 geekosaur joins (~geekosaur@xmonad/geekosaur)
14:39:28 × mei quits (~mei@user/mei) (Remote host closed the connection)
14:41:55 mei joins (~mei@user/mei)
14:42:30 Sgeo joins (~Sgeo@user/sgeo)
14:42:57 Square joins (~Square4@user/square)
14:47:35 vglfr joins (~vglfr@88.155.34.83)
14:49:00 chomwitt joins (~chomwitt@ppp-94-67-191-224.home.otenet.gr)
14:50:53 perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
14:56:19 × jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
14:59:09 Guest72 joins (~Guest72@ext-1-398.eduroam.chalmers.se)
14:59:39 <Guest72> Hi! Does anyone know if forkIO reuses threadIDs?
15:00:03 <Guest72> Create a thread, kill it with killThread, create a new thread. What is the convention when creating the threadID of the new thread? Their lifetimes never overlapped
15:00:31 <TheMatten[m]> Is there equivalent of https://gitlab.haskell.org/ghc/ghc-wasm-meta for JS backend?
15:00:56 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
15:02:29 lagash joins (lagash@lagash.shelltalk.net)
15:03:35 <geekosaur> Guest72, it could, but if you are holding an old ThreadId then it won't (and in fact won't gc the old thread)
15:04:49 <Guest72> Hm I am not retaining them, so that should be fine
15:05:16 <Guest72> There does not seem to be a way to query the RTS of how many threads are alive
15:08:23 × gemmaro quits (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) (Ping timeout: 260 seconds)
15:10:30 <merijn> Guest72: Threads aren't GCed until there are no more references to the ThreadId, so a threadid can never refer to a "different thread", as the original will only disappear when there's no mor references
15:10:50 <merijn> ah, I'm too slow
15:11:23 <Guest72> I've read the documentation, I understand that. I was merely wondering if there are any assumptions to be made of how threadIDs are generated
15:12:29 <tokie> I am reading a haskell book and one of the exercises in the Applicative chapter is having me implement Functor and Applicative for a given newtype called 'Constant', and I am super stuck on how to write the pure function: https://play.haskell.org/saved/u9NPjWc0 any thoughts?
15:13:23 <merijn> tokie: That type on pure seems (aka *is*) to restrictive
15:13:53 <tokie> i thought the type of pure is sorta defined by the Applicative class? i.e. it must be pure a -> f a
15:14:06 × vglfr quits (~vglfr@88.155.34.83) (Ping timeout: 265 seconds)
15:14:16 <merijn> tokie: Yes, but you're already using 'a' for the first argument to Constant, which is probably confusing you
15:14:50 <merijn> Consider rewriting the Applicative instance as "instance Monoid x => Applicative (Constant x) where pure :: a -> Constant k a"
15:15:05 <merijn> eh
15:15:07 <merijn> s/k/x
15:16:24 × perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.8)
15:17:53 <tokie> like this? https://play.haskell.org/saved/BmMHfxX7
15:18:47 <merijn> tokie: Right, at which point you should get a type error for your current implementation of pure :)
15:18:49 <tokie> i would think that wouldn't work because 'a' is the type that's lifted into Constant
15:18:57 <tokie> merijn: right
15:19:12 <tokie> i understand that type error
15:19:27 <merijn> tokie: So, to avoid spoilers, the best hint I can give is "now stare and meditate really hard what the only possible implementation could be" :)
15:19:38 × vpan quits (~0@212.117.1.172) (Remote host closed the connection)
15:19:40 <tokie> i do like that you didn't give the answer, lol
15:19:42 <merijn> Don't forget to revisit your Functor implementation for inspiration too
15:19:42 <tokie> thanks
15:20:36 <merijn> tokie: Consider this: Why does your fmap implementation not use the function you give it?
15:22:15 <merijn> tokie: Or, consider this, according to functor and applicative laws "fmap f (pure x)" is equivalent to "pure (f x)". So consider the implications of f = (+1) and x = 5
15:22:23 × mastarija quits (~mastarija@188.252.199.22) (Quit: WeeChat 3.7.1)
15:26:04 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
15:27:09 <Guest72> If I have tried to write some code where I continuously kill workers and spawn the same number of new ones, but the threadIDs keep increasing, does that mean that I am spawning more than I am killing?
15:27:16 <Guest72> I am not retaining the ThreadIDs in any datastructures of my own
15:27:36 <EvanR> Guest72, I'm kind of glad you can't find out all active threadIDs. Probably would be abused more than used for justice xD
15:27:47 <Guest72> Lmao
15:27:50 <Guest72> Agreed
15:27:59 <Guest72> I m trying something out, feels greasy
15:28:03 <Guest72> I am*
15:28:05 <merijn> Guest72: Pretty sure threadids basically just increment until they roll over
15:28:14 <glguy> Guest72: file descriptor behavior in POSIX is defined to reuse the lowest available number, but things like process ids typically just continually increment
15:28:20 <glguy> I'd expect thread ids to work like process ids
15:28:48 <Guest72> That is my understanding/guess as well, but it never hurts to ask
15:28:50 <merijn> Guest72: So the ability to get a "reused" threadid is mostly theoretical
15:28:58 <EvanR> if you can't observe threads remaining after welcome ran out, it's not happening
15:28:58 <Guest72> Great
15:29:45 <Guest72> I will assume things are fine for now
15:29:51 <Guest72> We will see if things blow up
15:30:32 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
15:30:42 <EvanR> you can attach a finalizer to the threads which print a final "I'm dead (threadID)"
15:30:42 lagash joins (lagash@lagash.shelltalk.net)
15:31:46 <merijn> The trickiest bit is that you need to do some complicated weak reference dance if you wanna store threadids without them accidentally keeping the thread alive
15:32:14 <Guest72> I have no desire to keep the threadIDs around though
15:32:21 <merijn> but if you're not doing that and not doing stupid things (like trying to recover threadid's from user input), you should be fine
15:32:40 <Guest72> I tried an alternative approach where I 'reset' a thread instead, but I don't have time to finish implementing this now
15:32:42 <Guest72> https://stackoverflow.com/questions/75802589/haskell-asychronous-exceptions
15:32:45 <Guest72> Any input is welcome
15:32:54 <Guest72> I have to sign off now, but thanks for the discussion
15:32:56 <EvanR> yeah a weak reference on the threadID itself, weak refs have a finalizer feature
15:33:04 × Guest72 quits (~Guest72@ext-1-398.eduroam.chalmers.se) (Quit: Client closed)
15:36:24 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94)
15:36:40 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
15:36:50 L29Ah joins (~L29Ah@wikipedia/L29Ah)
15:38:45 × ddellacosta quits (~ddellacos@146.70.165.10) (Quit: WeeChat 3.8)
15:40:12 ddellacosta joins (~ddellacos@146.70.165.10)
15:40:38 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Ping timeout: 246 seconds)
15:41:45 jushur joins (~human@user/jushur)
15:47:41 × Guest19 quits (~Guest19@145.107.112.113) (Quit: Client closed)
15:48:38 × EvanR quits (~EvanR@user/evanr) (Quit: Leaving)
15:55:40 × Vq quits (~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 265 seconds)
15:57:12 Vq joins (~vq@90-227-192-206-no77.tbcn.telia.com)
16:05:57 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Ping timeout: 250 seconds)
16:05:59 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
16:06:22 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
16:07:05 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
16:09:33 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
16:12:13 EvanR joins (~EvanR@user/evanr)
16:14:35 <c_wraith> EvanR: https://hackage.haskell.org/package/base-4.18.0.0/docs/GHC-Conc.html#v:listThreads
16:14:44 <c_wraith> note, however, that it's still buggy
16:14:57 <c_wraith> It crashes ghci if run interactively
16:15:13 <EvanR> I'm flabbergasted
16:16:43 perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
16:20:04 <geekosaur> <<loop>>?
16:21:08 sp00kins joins (~sp00kins@c-71-62-172-98.hsd1.va.comcast.net)
16:21:57 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
16:22:35 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
16:22:49 <c_wraith> oh, it doesn't crash ghci by itself. You have to fork a few threads off first. Then you start seeing heap corruption when you call listThreads.
16:23:03 <c_wraith> stuff like internal error: scavenge_one: strange object 655378800
16:23:19 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 276 seconds)
16:23:39 <c_wraith> so.. something is not ok in ghc 9.6.1, as yet!
16:26:18 <EvanR> jeez
16:27:56 <geekosaur> interesting, doesn't exist in 9.2.5
16:29:50 econo joins (uid147250@user/econo)
16:37:09 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05)
16:38:00 <c_wraith> no, listThreads is new to 9.6
16:38:12 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) (Remote host closed the connection)
16:38:14 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:6861:4c48:824b:2934) (Quit: WeeChat 2.8)
16:38:26 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05)
16:38:36 × krei-se quits (~krei-se@p57af2793.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
16:38:43 krei-se- joins (~krei-se@p50874388.dip0.t-ipconnect.de)
16:40:42 × nschoe quits (~q@141.101.51.197) (Ping timeout: 268 seconds)
16:49:58 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
16:50:28 cheater joins (~Username@user/cheater)
16:55:34 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
16:56:54 CiaoSen joins (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
16:58:14 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
16:59:40 lagash joins (lagash@lagash.shelltalk.net)
17:01:11 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:05:59 cheater joins (~Username@user/cheater)
17:07:37 cheater_ joins (~Username@user/cheater)
17:10:33 × cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds)
17:10:42 cheater_ is now known as cheater
17:11:54 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
17:14:22 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
17:16:22 coot_ joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
17:18:15 × jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
17:19:46 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 265 seconds)
17:19:48 coot_ is now known as coot
17:19:51 jushur joins (~human@user/jushur)
17:19:59 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 264 seconds)
17:21:31 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
17:24:11 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
17:24:35 cheater_ joins (~Username@user/cheater)
17:25:24 × mei quits (~mei@user/mei) (Ping timeout: 255 seconds)
17:27:07 × cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds)
17:27:09 cheater_ is now known as cheater
17:27:21 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 256 seconds)
17:27:52 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
17:29:09 mei joins (~mei@user/mei)
17:31:45 × zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!)
17:31:58 × ubert1 quits (~Thunderbi@2a02:8109:abc0:6434:de79:4694:671d:d823) (Quit: ubert1)
17:32:05 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
17:35:26 × yoneda quits (~mike@193.206.102.122) (Quit: leaving)
17:36:50 cheater_ joins (~Username@user/cheater)
17:37:50 cheater__ joins (~Username@user/cheater)
17:38:11 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
17:38:15 cheater__ is now known as cheater
17:41:36 × cheater_ quits (~Username@user/cheater) (Ping timeout: 264 seconds)
17:47:08 × troydm quits (~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
17:48:14 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) (Remote host closed the connection)
17:48:25 × kenran quits (~user@user/kenran) (Remote host closed the connection)
17:49:07 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 246 seconds)
17:50:47 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
17:53:13 × EvanR quits (~EvanR@user/evanr) (Quit: Leaving)
17:54:04 EvanR joins (~EvanR@user/evanr)
17:54:15 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection)
17:54:28 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
18:01:53 troydm joins (~troydm@user/troydm)
18:05:23 cheater_ joins (~Username@user/cheater)
18:07:39 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
18:07:58 cheater__ joins (~Username@user/cheater)
18:07:58 cheater__ is now known as cheater
18:09:55 × cheater_ quits (~Username@user/cheater) (Ping timeout: 260 seconds)
18:12:08 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection)
18:12:22 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
18:14:32 codaraxis joins (~codaraxis@user/codaraxis)
18:14:48 gabiruh_ is now known as gabiruh
18:15:05 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection)
18:15:19 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
18:17:10 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05)
18:21:06 jmdaemon joins (~jmdaemon@user/jmdaemon)
18:22:20 cheater_ joins (~Username@user/cheater)
18:22:31 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
18:22:35 cheater_ is now known as cheater
18:23:41 <Square> Anyone know if someone works on a JVM backend, with GHC's new pluggable backend support?
18:24:05 lbseale_ joins (~quassel@user/ep1ctetus)
18:25:01 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 265 seconds)
18:25:15 × CiaoSen quits (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
18:29:57 × mei quits (~mei@user/mei) (Remote host closed the connection)
18:32:24 mei joins (~mei@user/mei)
18:32:34 vglfr joins (~vglfr@88.155.10.218)
18:38:37 × jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
18:40:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:41:57 cheater_ joins (~Username@user/cheater)
18:43:53 motherfsck joins (~motherfsc@user/motherfsck)
18:43:55 × cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds)
18:44:21 <[exa]> Square: there was eta but not sure what's the status of that
18:45:40 <Square> [exa], last I checked it seemed like abandon ware. One could hope this new GHC functionality could make maintenance easier?
18:45:47 <Square> ...for a similar project
18:46:08 <[exa]> I kinda guess there's no real need for that at this point, for javafolk most of the design space is covered by scala
18:46:37 <[exa]> but yeah generally it should be much simpler now
18:46:46 × cheater_ quits (~Username@user/cheater) (Ping timeout: 265 seconds)
18:46:56 <geekosaur> my strong impression from last time this was considered is that the main reason for a JVM-backed ghc was access to Java classes, but FFIing to them would be really problematic because Java and Haskell types don't line up real well
18:47:08 <[exa]> related reading: https://wiki.haskell.org/GHC/FAQ#Why_isn.27t_GHC_available_for_.NET_or_on_the_JVM.3F
18:47:10 <geekosaur> also the JVM was missing some key features like tail calls at the time
18:48:51 <Square> geekosaur, I think the tail call feature has been added to the JVM since.
18:49:23 <geekosaur> right, but that still leaves the problem that Haskell and Java types pretty much don't mix
18:49:42 <geekosaur> the old "primitive" types do, but modern Java doesn't even use them
18:50:14 <Square> geekosaur, true. Java got a version of sum types recently. Not sure if that could help it along.
18:50:43 <[exa]> Square: citation needed on the tail calls in jvm
18:52:22 <[exa]> anyway, why java?
18:52:49 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 276 seconds)
18:53:16 jushur joins (~human@user/jushur)
18:53:39 <Square> [exa], googled. Seem I might be wrong. I was sure I read that somewhere. I know Scala team wanted it. https://bugs.openjdk.org/browse/JDK-6804517
18:54:20 <Square> [exa], a way to migrate parts of a codebase to Haskell
18:54:39 <geekosaur> tail calls will be very important for an implementation of STG for the JVM
18:57:31 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
19:05:49 × califax quits (~califax@user/califx) (Remote host closed the connection)
19:06:04 <[exa]> Square: plain rewrite >>>>> migrate parts
19:06:16 califax joins (~califax@user/califx)
19:06:32 <Square> [exa], my superiors don't dig that =/
19:07:05 <Square> [exa], any ideas on how I can convince them?
19:07:05 mikoto-chan joins (~mikoto-ch@87-95-58-79.bb.dnainternet.fi)
19:08:40 <[exa]> ah you don't own the project... in that case probably better not push too much
19:08:41 <Square> (I've made a very complete POC on all essential parts in semi short time, but they are dead set on partial rewrite)
19:08:44 <[exa]> (or try scala)
19:09:41 <Square> I used Scala professionally pre version 3. I just found Haskell >>>>> Scala.
19:09:57 euandreh1 joins (~Thunderbi@189.6.18.7)
19:10:42 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 255 seconds)
19:10:43 euandreh1 is now known as euandreh
19:11:23 ft joins (~ft@p3e9bc443.dip0.t-ipconnect.de)
19:14:55 × gurkenglas quits (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de) (Ping timeout: 276 seconds)
19:15:06 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Remote host closed the connection)
19:15:20 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
19:15:39 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds)
19:16:00 gurkenglas joins (~gurkengla@dynamic-089-204-139-175.89.204.139.pool.telefonica.de)
19:16:15 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
19:18:40 <sm> Square: maybe there are are some parts you can break out as separate processes ?
19:21:11 × machinedgod quits (~machinedg@node-1w7jr9yirp0ap2d6xfacos1ph.ipv6.telus.net) (Quit: Lost terminal)
19:21:32 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
19:23:25 × stackdroid18 quits (14094@de1.hashbang.sh) (Quit: hasta la vista... tchau!)
19:26:01 <EvanR> java-bridge worked as far as I could tell but that was years ago
19:26:24 <EvanR> it spawned a jvm and did a bunch of marshalling through JNI
19:29:43 <shapr> I want to use inline-rust
19:31:45 cheater joins (~Username@user/cheater)
19:32:11 <Square> EvanR, sm, I'll look into that
19:33:24 slack1256 joins (~slack1256@181.42.50.18)
19:36:28 × jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
19:37:56 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
19:38:26 kimjetwav joins (~user@2607:fea8:235e:b600:3d66:fa8b:402c:9466)
19:39:39 cheater joins (~Username@user/cheater)
19:46:25 <jean-paul[m]> There's a thing called inline-java now.
19:47:09 stef204 joins (~stef204@user/stef204)
19:48:43 × cheater quits (~Username@user/cheater) (Ping timeout: 276 seconds)
19:52:28 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) (Remote host closed the connection)
19:52:38 cheater joins (~Username@user/cheater)
19:55:15 <Umeaboy> How come noarch is not selectable as chroot in copr? There are some noarch only packages.
19:56:26 × vglfr quits (~vglfr@88.155.10.218) (Ping timeout: 246 seconds)
19:57:31 <geekosaur> because, while you can have noarch packages, you cannot have a working system composed only of noarch packages
19:58:35 <geekosaur> closest you get here is to build your noarch packages on multiple archs and then verify they're identical
19:58:46 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
20:01:06 cheater joins (~Username@user/cheater)
20:01:12 × cheater quits (~Username@user/cheater) (Remote host closed the connection)
20:06:29 cheater joins (~Username@user/cheater)
20:10:29 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
20:12:58 irrgit_ joins (~irrgit@86.106.90.226)
20:20:24 <jean-paul[m]> What does "&" signify in `foreign import capi unsafe "foo.h &some_foo" ...`?
20:21:24 <ddellacosta> function pointer I believe
20:22:42 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
20:23:02 × trev quits (~trev@user/trev) (Remote host closed the connection)
20:23:44 <jean-paul[m]> That was my first guess ... but some_foo doesn't appear to be anything but a regular ol' C function.
20:24:09 jushur joins (~human@user/jushur)
20:24:15 <geekosaur> it means a value. (I think the intent is to suggest that the ffi is taking a pointer to the value, ,but it also works with e.g. CPP defines which don't have pointers)
20:24:50 <jean-paul[m]> Ohh, right, so you get a pointer to the function ... okay, that fits.
20:24:59 <jean-paul[m]> Thanks ddellacosta, geekosaur
20:25:12 <EvanR> address of some_foo
20:25:55 kenran joins (~user@user/kenran)
20:26:37 <geekosaur> oh, sorry, I ewas thinking of `value`. lemme dig
20:28:00 <geekosaur> ah, half right. If a Haskell program needs to access a C variable bar of integer type, `foreign import ccall "&" bar :: Ptr CInt` must be used to obtain a pointer referring to the variable. The variable can be read and updated using the routines provided by the module Foreign.Storable (cf. Section 37).
20:28:12 <geekosaur> (per Haskell2010)
20:28:45 <geekosaur> so it's a (pointer to a) variable
20:28:52 × mikoto-chan quits (~mikoto-ch@87-95-58-79.bb.dnainternet.fi) (Ping timeout: 268 seconds)
20:30:09 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
20:33:00 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)
20:34:26 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
20:37:35 lagash joins (lagash@lagash.shelltalk.net)
20:40:59 × mei quits (~mei@user/mei) (Remote host closed the connection)
20:43:17 lortabac joins (~lortabac@2a01:e0a:541:b8f0:f11a:e633:cebd:41d0)
20:43:26 mei joins (~mei@user/mei)
20:47:58 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds)
20:48:40 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 246 seconds)
20:48:57 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
20:49:28 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:f11a:e633:cebd:41d0) (Quit: WeeChat 2.8)
20:52:57 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05)
20:53:00 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: leaving)
20:53:39 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
20:53:41 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 250 seconds)
20:55:05 slac33371 joins (~slack1256@191.126.99.81)
20:55:34 × slac33371 quits (~slack1256@191.126.99.81) (Remote host closed the connection)
20:55:48 <Athas> Time to go through the GHC update dance again! Every time this happens, I feel the urge to decrease my dependency footprint.
20:57:27 × slack1256 quits (~slack1256@181.42.50.18) (Ping timeout: 260 seconds)
20:57:35 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:b104:ea11:1f21:4a05) (Ping timeout: 256 seconds)
20:58:12 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
20:58:15 × zer0bitz quits (~zer0bitz@2001:2003:f443:d600:f18c:e067:2e85:d2af) (Read error: Connection reset by peer)
21:02:43 <EvanR> that's it. This time no dependence on GHC
21:02:53 × xsarnik quits (xsarnik@lounge.fi.muni.cz) (Quit: Ping timeout (120 seconds))
21:03:08 <EvanR> chatGPT should be able to compile my haskell or at least interpret it right
21:03:25 xsarnik joins (xsarnik@lounge.fi.muni.cz)
21:04:08 jmdaemon joins (~jmdaemon@user/jmdaemon)
21:05:09 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
21:06:31 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
21:14:17 merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl)
21:18:09 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
21:19:24 × califax quits (~califax@user/califx) (Remote host closed the connection)
21:19:28 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
21:19:30 × merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 265 seconds)
21:19:41 × gdr3941 quits (~user@c-73-58-202-143.hsd1.tn.comcast.net) (Ping timeout: 256 seconds)
21:19:48 califax joins (~califax@user/califx)
21:19:52 × michalz quits (~michalz@185.246.207.215) (Remote host closed the connection)
21:20:14 MironZ2 joins (~MironZ@nat-infra.ehlab.uk)
21:21:15 × MironZ quits (~MironZ@nat-infra.ehlab.uk) (Ping timeout: 248 seconds)
21:21:15 MironZ2 is now known as MironZ
21:24:25 gdr3941 joins (~user@c-73-58-202-143.hsd1.tn.comcast.net)
21:28:27 nschoe joins (~q@2a01:e0a:8e:a190:a230:bd48:1492:9e9a)
21:30:07 × cassiopea quits (~cassiopea@user/cassiopea) (Ping timeout: 276 seconds)
21:37:22 cassiopea joins (~cassiopea@user/cassiopea)
21:39:58 <mesaoptimizer2> EvanR: I used chatGPT-4 to migrate my project from Golang to Haskell. It was fun. Had to debug a bit of hallucination but the logic was sound in general
21:40:54 <mesaoptimizer2> Hell, I spent 4.5 hours setting up emacs as an IDE for Haskell, and it took me only 6 hours to migrate the project. Things are going to be very different in an year or two
21:41:42 <mesaoptimizer2> (Why did it take me 4.5 hours? Well, Fedora ghcup issues, then emacs HLS issues)
21:47:08 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:56:00 zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe)
21:57:45 × nullsh quits (nullsh@user/nexeq) (Changing host)
21:57:45 nullsh joins (nullsh@user/nullsh)
21:59:14 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:59:27 × sp00kins quits (~sp00kins@c-71-62-172-98.hsd1.va.comcast.net) (Quit: sp00kins)
22:03:15 × nschoe quits (~q@2a01:e0a:8e:a190:a230:bd48:1492:9e9a) (Quit: Switching off)
22:08:26 × kenran quits (~user@user/kenran) (Remote host closed the connection)
22:09:20 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
22:11:10 × kimiamania quits (~65804703@user/kimiamania) (Quit: Ping timeout (120 seconds))
22:11:17 × Umeaboy quits (~Umeaboy@94-255-145-133.cust.bredband2.com) (Quit: Leaving)
22:11:33 kimiamania joins (~65804703@user/kimiamania)
22:11:42 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 265 seconds)
22:11:55 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
22:12:09 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
22:13:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Ping timeout: 265 seconds)
22:14:21 × mei quits (~mei@user/mei) (Remote host closed the connection)
22:16:09 ec joins (~ec@gateway/tor-sasl/ec)
22:16:42 mei joins (~mei@user/mei)
22:16:59 × inversed quits (~inversed@bcdcac82.skybroadband.com) (Quit: Connection error?!)
22:19:38 inversed joins (~inversed@bcdcac82.skybroadband.com)
22:24:26 <Square> what is the notion like "exp1 / exp2" seen on anchor here called https://en.wikipedia.org/wiki/Lambda_cube#(%CE%BB%E2%86%92)_Simply_typed_lambda_calculus ? Some predicate implies something?
22:25:58 <Square> Also, what is required to understand the expression? How would one actually read/word it?
22:26:13 <Square> for simply typed case
22:26:41 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:26:49 <geekosaur> did you follow the link "typing rule"?
22:26:51 × qhong quits (~qhong@rescomp-21-400677.stanford.edu) (Ping timeout: 248 seconds)
22:26:57 <geekosaur> (type theory has its own notation)
22:28:24 <Square> geekosaur, ops. I did not. thanks
22:30:30 × zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!)
22:32:40 merijn joins (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl)
22:34:49 × stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.8)
22:38:34 lxi joins (~quassel@2a02:2f08:4706:3500:ae8e:3958:a6a4:da79)
22:44:20 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
22:45:28 codaraxis__ joins (~codaraxis@user/codaraxis)
22:45:31 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 276 seconds)
22:57:56 <EvanR> Square, where exactly on the page are you referring
23:03:48 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds)
23:06:04 <int-e> Square: Oh is that / supposed to be a horizontal bar? It's an inference rule, with premises on top and a conclusion on the bottom. The first one of those links to https://en.wikipedia.org/wiki/Typing_rule
23:07:21 × merijn quits (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
23:07:45 <int-e> (those aren't expressions either, syntactically; they're called "type judgements" and have a context (generically, Gamma), a turnstile |-, an expression, a colon :, and a type.
23:07:48 <int-e> )
23:08:20 <Square> EvanR, it was the first expression (displayed as a small picture) after the paragraph headline "(λ→) Simply typed lambda calculus".
23:09:23 <Square> okok.. I'll dwell deeper into this when I have time.
23:14:42 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
23:18:22 <int-e> . o O ( "delve" )
23:21:39 jmdaemon joins (~jmdaemon@user/jmdaemon)
23:24:20 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
23:24:20 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
23:24:20 wroathe joins (~wroathe@user/wroathe)
23:24:20 <Square> int-e, ops. English.. sigh.
23:28:58 × bjobjo quits (~bjobjo@user/bjobjo) (Ping timeout: 246 seconds)
23:30:58 bjobjo joins (~bjobjo@user/bjobjo)
23:31:04 × inversed quits (~inversed@bcdcac82.skybroadband.com) (Quit: Connection error?!)
23:37:59 × chomwitt quits (~chomwitt@ppp-94-67-191-224.home.otenet.gr) (Ping timeout: 260 seconds)
23:42:24 inversed joins (~inversed@bcdcac82.skybroadband.com)
23:42:26 jwiegley joins (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)
23:43:12 codaraxis joins (~codaraxis@user/codaraxis)
23:44:45 × codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 255 seconds)
23:47:23 × acidjnk_new quits (~acidjnk@p200300d6e715c49690267839e4058790.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
23:50:51 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
23:52:08 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
23:58:51 <sm> mesaoptimizer2: thanks for sharing time costs, I like to see those
23:59:15 <sm> and congrats on the port!
23:59:26 ChanServ sets mode +o johnw
23:59:28 jwiegley is kicked by johnw (Kicked by johnw)
23:59:31 johnw sets mode -o johnw
23:59:43 <johnw> yes, I kicked myself :)
23:59:57 <sm> johnw :)

All times are in UTC on 2023-03-21.