Home liberachat/#haskell: Logs Calendar

Logs on 2025-06-23 (liberachat/#haskell)

00:03:28 × jespada quits (~jespada@r167-61-33-87.dialup.adsl.anteldata.net.uy) (Ping timeout: 252 seconds)
00:11:32 × tmciver_ quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 252 seconds)
00:12:37 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
00:15:54 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
00:20:58 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
00:22:07 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:23:24 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 244 seconds)
00:27:31 mange joins (~mange@user/mange)
00:30:13 notzmv joins (~umar@user/notzmv)
00:31:08 × j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer)
00:32:10 rekahsoft joins (~rekahsoft@174.95.4.83)
00:35:35 j1n37 joins (~j1n37@user/j1n37)
00:36:59 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
00:38:11 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:38:29 Guest0 joins (~Guest0@176.140.66.145)
00:40:52 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 252 seconds)
00:41:36 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
00:59:29 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
01:00:29 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
01:03:07 × Guest0 quits (~Guest0@176.140.66.145) (Quit: Client closed)
01:04:50 Sgeo joins (~Sgeo@user/sgeo)
01:06:19 × notzmv quits (~umar@user/notzmv) (Ping timeout: 260 seconds)
01:06:57 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
01:07:19 × sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
01:07:24 × trickard quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
01:07:30 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:07:38 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
01:07:41 sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
01:13:25 × xff0x quits (~xff0x@2405:6580:b080:900:e2f0:8dab:7117:a113) (Ping timeout: 248 seconds)
01:18:23 wickedjargon joins (~user@node-1w7jr9unn02np47211p5af1tx.ipv6.telus.net)
01:21:29 × wbooze quits (~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
01:27:06 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
01:28:01 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:28:11 <hololeap> how can I get System.Directory.OsPath to talk with System.Posix.Files.PosixString? OsPath can't be coerced into a PosixPath
01:28:21 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
01:28:55 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
01:29:08 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
01:30:04 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:31:11 <hololeap> specifically, I'd like to feed the output of listDirectory into (traverse getFileStatus) so I can get the FileStatus for an entire directory, for the purpose of knowing which is a directory, symlink, etc
01:36:24 wbooze joins (~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de)
01:42:18 × wbooze quits (~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) (Remote host closed the connection)
01:42:51 wbooze joins (~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de)
01:47:15 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
01:48:34 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:51:49 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 260 seconds)
01:52:08 lutherann joins (~micc@user/lutherann)
01:52:15 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
02:06:02 prdak joins (~Thunderbi@user/prdak)
02:10:29 × prdak quits (~Thunderbi@user/prdak) (Ping timeout: 248 seconds)
02:15:21 jmcantrell joins (~weechat@user/jmcantrell)
02:20:59 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
02:21:11 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
02:21:22 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 268 seconds)
02:22:48 <hololeap> I figured it out
02:30:30 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 244 seconds)
02:30:36 Lycurgus joins (~juan@user/Lycurgus)
02:31:23 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
02:31:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
02:32:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:32:42 × ystael quits (~ystael@user/ystael) (Ping timeout: 252 seconds)
02:37:05 × comonad quits (~comonad@p200300d0270a4d00bd2fa57947ace417.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
02:39:29 comonad joins (~comonad@p54a0317c.dip0.t-ipconnect.de)
02:40:43 × wickedjargon quits (~user@node-1w7jr9unn02np47211p5af1tx.ipv6.telus.net) (Remote host closed the connection)
02:44:08 notzmv joins (~umar@user/notzmv)
02:48:19 × notzmv quits (~umar@user/notzmv) (Ping timeout: 245 seconds)
02:52:16 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
02:59:28 trickard_ is now known as trickard
03:05:15 notzmv joins (~umar@user/notzmv)
03:07:35 × sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
03:09:27 × wbooze quits (~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) (Read error: Connection reset by peer)
03:11:01 sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
03:18:31 aforemny joins (~aforemny@i577B12AC.versanet.de)
03:19:17 × aforemny_ quits (~aforemny@i577B12E7.versanet.de) (Ping timeout: 248 seconds)
03:29:26 wbooze joins (~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de)
03:31:34 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
03:33:32 wbooze is now known as inline
03:35:42 inline_ joins (~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de)
03:36:01 inline is now known as wbooze
03:36:16 inline_ is now known as inline
03:36:20 × sclv quits (sid39734@haskell/developer/sclv) (Ping timeout: 244 seconds)
03:37:24 × arahael quits (~arahael@user/arahael) (Ping timeout: 260 seconds)
03:39:47 sclv joins (sid39734@haskell/developer/sclv)
03:42:17 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
03:44:29 <mange> What did you do to get it working?
03:44:33 × notzmv quits (~umar@user/notzmv) (Ping timeout: 276 seconds)
03:45:37 notzmv joins (~umar@user/notzmv)
03:46:26 <EvanR> the solution classically exists
03:46:57 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 248 seconds)
03:57:06 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
04:01:56 <mauke> use either System.Directory.listDirectory + System.Posix.Files.getSymbolicLinkStatus (both FilePath) or System.Directory.OsPath.listDirectory + ystem.Directory.Internal.getSymbolicLinkMetadata (both OsPath)
04:05:06 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
04:07:52 × notzmv quits (~umar@user/notzmv) (Ping timeout: 276 seconds)
04:08:56 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
04:16:57 × poscat quits (~poscat@user/poscat) (Remote host closed the connection)
04:18:02 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
04:20:17 poscat joins (~poscat@user/poscat)
04:21:44 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
04:27:00 poscat0x04 joins (~poscat@user/poscat)
04:30:05 × poscat quits (~poscat@user/poscat) (Ping timeout: 260 seconds)
04:38:16 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
04:39:33 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:40:18 × rekahsoft quits (~rekahsoft@174.95.4.83) (Remote host closed the connection)
04:42:23 × Lycurgus quits (~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
04:47:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
04:48:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:49:33 × tdammers quits (~tdammers@110-136-178-143.ftth.glasoperator.nl) (Ping timeout: 276 seconds)
04:51:13 michalz joins (~michalz@185.246.207.201)
04:57:54 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
04:59:07 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:03:29 pavonia joins (~user@user/siracusa)
05:10:25 harveypwca joins (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c)
05:10:30 michalz_ joins (~michalz@185.246.207.203)
05:12:11 × michalz quits (~michalz@185.246.207.201) (Ping timeout: 265 seconds)
05:18:28 prdak joins (~Thunderbi@user/prdak)
05:28:37 × trickard quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
05:28:52 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
05:39:29 × prdak quits (~Thunderbi@user/prdak) (Quit: prdak)
05:42:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
05:53:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:58:41 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
05:59:23 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
06:00:48 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
06:05:34 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
06:05:48 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
06:15:24 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
06:16:24 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
06:18:22 prdak joins (~Thunderbi@user/prdak)
06:29:31 soverysour joins (~soverysou@user/soverysour)
06:32:02 Square joins (~Square@user/square)
06:33:41 × ThePenguin quits (~ThePengui@cust-95-80-31-242.csbnet.se) (Remote host closed the connection)
06:35:33 ThePenguin joins (~ThePengui@cust-95-80-31-242.csbnet.se)
06:39:10 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
06:41:20 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
06:41:39 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
06:45:34 merijn joins (~merijn@77.242.116.146)
06:47:09 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 252 seconds)
06:47:17 × ft quits (~ft@p3e9bcab0.dip0.t-ipconnect.de) (Quit: leaving)
06:48:05 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
06:49:58 __monty__ joins (~toonn@user/toonn)
06:51:53 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:52:41 × prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer)
06:54:35 trickard_ is now known as trickard
06:57:13 kenran joins (~void@user/kenran)
06:58:29 × ThePenguin quits (~ThePengui@cust-95-80-31-242.csbnet.se) (Remote host closed the connection)
07:00:02 × caconym7 quits (~caconym@user/caconym) (Quit: bye)
07:00:16 ThePenguin joins (~ThePengui@cust-95-80-31-242.csbnet.se)
07:00:50 caconym7 joins (~caconym@user/caconym)
07:01:02 × kenran quits (~void@user/kenran) (Remote host closed the connection)
07:01:09 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
07:02:32 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
07:02:52 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 265 seconds)
07:02:53 prdak joins (~Thunderbi@user/prdak)
07:03:27 × ThePenguin quits (~ThePengui@cust-95-80-31-242.csbnet.se) (Remote host closed the connection)
07:04:59 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 245 seconds)
07:05:51 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
07:06:41 ThePenguin joins (~ThePengui@cust-95-80-31-242.csbnet.se)
07:11:33 tromp joins (~textual@2001:1c00:3487:1b00:3d67:6270:e25f:3cc5)
07:18:46 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
07:21:20 soverysour joins (~soverysou@84.232.150.229)
07:21:20 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
07:21:20 soverysour joins (~soverysou@user/soverysour)
07:21:55 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: Leaving)
07:23:57 acidjnk joins (~acidjnk@p200300d6e70b661750c15e2a18f5d35c.dip0.t-ipconnect.de)
07:24:13 × sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
07:24:32 sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
07:26:50 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
07:32:36 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:36:35 <haskellbridge> <magic_rb> Im making a presentation for my thesis and i want to include something scary at the end, whats the most complex practical type signature you can think of? Lenses are complex but also done to hell, so something new perhaps
07:38:12 merijn joins (~merijn@77.242.116.146)
07:41:28 <yin> magic_rb: would a type error do the trick?
07:43:59 <tomsmeding> magic_rb: https://git.tomsmeding.com/chad-fast/tree/src/Simplify.hs#n461
07:50:04 <haskellbridge> <magic_rb> Type error? Sure if it looks scary :P
07:50:08 <haskellbridge> <magic_rb> And thanks tom :)
07:50:31 <tomsmeding> I was convinced accelerate had some scary types but can't find any noe
07:50:33 <tomsmeding> *now
07:52:39 <tomsmeding> magic_rb: apparently this has been in accelerate at some point https://tomsmeding.com/vang/pPEUWn/Untitled.png
07:53:31 <dutchie> https://hackage.haskell.org/package/servant-0.20.2/docs/src/Servant.Links.html#line-459
07:53:42 <dutchie> if you don't mind an instance declaration rather than a function
07:56:00 <tomsmeding> oh if just long constraint lists already count then https://github.com/ivogabe/accelerate/blob/new-pipeline/src/Data/Array/Accelerate/Trafo.hs#L90
07:57:36 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
08:01:40 × hsw quits (~hsw@106.104.103.23) (Remote host closed the connection)
08:01:58 hsw joins (~hsw@106.104.103.23)
08:06:28 <dutchie> f -> String is a bit boring after all the constraints though
08:06:52 <tomsmeding> it is
08:25:26 Digitteknohippie joins (~user@user/digit)
08:26:09 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 260 seconds)
08:26:25 × Digit quits (~user@user/digit) (Ping timeout: 248 seconds)
08:26:39 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
08:30:06 dhil joins (~dhil@5.151.29.140)
08:30:19 × piele quits (~piele@eiseth.creativeserver.net) (Ping timeout: 252 seconds)
08:31:07 × tromp quits (~textual@2001:1c00:3487:1b00:3d67:6270:e25f:3cc5) (Ping timeout: 276 seconds)
08:31:55 piele joins (~piele@eiseth.creativeserver.net)
08:38:31 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
08:39:43 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
08:45:16 × trickard quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
08:45:31 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
08:47:49 ljdarj joins (~Thunderbi@user/ljdarj)
08:48:51 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
08:49:32 chiselfuse joins (~chiselfus@user/chiselfuse)
08:51:58 × prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer)
08:53:15 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
08:54:09 × Digitteknohippie quits (~user@user/digit) (Ping timeout: 248 seconds)
08:55:27 chele joins (~chele@user/chele)
08:55:29 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
08:55:31 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
08:55:45 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 248 seconds)
08:55:51 ljdarj joins (~Thunderbi@user/ljdarj)
08:56:39 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
09:01:18 prdak joins (~Thunderbi@user/prdak)
09:01:54 ubert joins (~Thunderbi@2a02:8109:abb3:7000:1a90:299a:1ff:5c3d)
09:05:14 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
09:05:39 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 276 seconds)
09:05:59 merijn joins (~merijn@77.242.116.146)
09:06:16 soverysour joins (~soverysou@user/soverysour)
09:06:39 × manwithluck quits (~manwithlu@194.177.28.145) (Ping timeout: 245 seconds)
09:07:24 manwithluck joins (~manwithlu@194.177.28.145)
09:12:04 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 268 seconds)
09:15:05 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
09:15:40 × hsw quits (~hsw@106.104.103.23) (Remote host closed the connection)
09:15:49 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
09:15:59 hsw joins (~hsw@106.104.103.23)
09:17:21 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 276 seconds)
09:28:31 Digit joins (~user@user/digit)
09:28:49 soverysour joins (~soverysou@84.232.150.229)
09:28:49 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
09:28:49 soverysour joins (~soverysou@user/soverysour)
09:29:09 merijn joins (~merijn@77.242.116.146)
09:31:10 × sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
09:31:28 sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
09:34:43 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
09:35:49 × prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer)
09:36:24 trickard_ is now known as trickard
09:37:41 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:37:42 Digit is now known as digitteknohippie
09:37:49 digitteknohippie is now known as digit
09:45:43 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
09:51:10 merijn joins (~merijn@77.242.116.146)
09:54:09 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 252 seconds)
09:58:19 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
10:03:16 gmg joins (~user@user/gehmehgeh)
10:06:02 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 276 seconds)
10:06:16 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
10:21:05 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
10:28:44 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 245 seconds)
10:28:51 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
10:29:00 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:30:24 Lord_of_Life_ is now known as Lord_of_Life
10:31:34 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds)
10:32:51 × trickard quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
10:33:05 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
10:33:27 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds)
10:34:09 talisc joins (~talisc@177.126.221.11)
10:34:49 talisc parts (~talisc@177.126.221.11) ()
10:39:24 talisc joins (~talisc@user/talisc)
10:44:02 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
10:45:11 × sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
10:45:16 <[exa]> is there some common coined name for data structures that allow concurrent access for many readers but only a single writer (ie. all writes have to be serialized)?
10:45:36 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
10:45:48 merijn joins (~merijn@77.242.116.146)
10:46:30 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 244 seconds)
10:47:20 sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
10:47:26 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
10:47:34 <__monty__> Is this one of those elementary things that never got named successfully?
10:47:41 <[exa]> likely
10:48:57 <[exa]> (I've got 2 variants of a segmented data structure here, with the many-writer having a more complex locking scheme and way more overhead)
10:50:10 <[exa]> whatevs, I'll mark them SW and CW like serialized writer and concurrent writer
10:50:25 <[exa]> doubles nicely with "simple" and "complex"
10:52:05 Lycurgus joins (~juan@user/Lycurgus)
10:55:46 prdak joins (~Thunderbi@user/prdak)
10:56:21 <Maxdamantus> [exa]: in Rust I think I've seen it called "mcsp", or maybe it was "spmc".
10:56:28 <Maxdamantus> as opposed to "mpsc".
10:57:42 <Maxdamantus> actually, maybe that doesn't exist. I kind of assumed it did, since there is "mpsc" in std.
10:58:12 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
10:58:38 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
10:59:07 <Maxdamantus> I guess "mpmc" covers the use case, but that's more general than what you're asking for.
10:59:28 <[exa]> what does 'p' and 'c' stand for there?
10:59:34 <Maxdamantus> producer, consumer
10:59:36 <[exa]> oh producer and consumer
10:59:55 <Maxdamantus> multi-producer single-consumer, multi-producer multi-consumer
11:00:02 <[exa]> but that's more like for communion channel kind of things, right?
11:00:06 <[exa]> *communication
11:00:47 <[exa]> anyway yeah I guess that's exactly what I wasn't able to recall
11:00:56 <[exa]> doesn't fit totally but so far closest :D
11:01:24 <Maxdamantus> Well, if you don't want a queue, I guess what you want is just a read-write lock.
11:01:48 jespada joins (~jespada@r179-25-124-186.dialup.adsl.anteldata.net.uy)
11:01:54 <Maxdamantus> (though again, a read-write lock is theoretically more general, since it allows multiple writers)
11:01:55 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
11:02:19 <[exa]> it's for a store of inverted indices, kinda like lucene segments
11:02:40 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
11:03:11 <Maxdamantus> actually, I guess there could be a wording issue here. when you say single writer, are you saying your code is already guaranteed to only write from one thread, or are you saying that the datastructure must enforce that?
11:03:12 <[exa]> so there's a whole lock hierarchy, the actual top is kinda compare-and-swapped very rarely by the writers
11:03:19 <Maxdamantus> if it's the latter, then that's exactly what a read-write lock is.
11:03:26 <[exa]> nah there's 2 ways to implement the data structure
11:03:35 <[exa]> so I'm finding the proper labels to distinguish them :D
11:04:13 <[exa]> there's one kinda simple as lucene does which must have all writes managed by one program, and there's another way which can have multiple independent writers but the locking gets quite complex
11:04:50 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
11:05:37 <Maxdamantus> I'd probably just call it a read-write lock tbh. If you want to optimise it such that it assumes noone else will try to acquire the write lock while the write lock is already held, you could just come up with a variation of the name.
11:06:07 <Maxdamantus> eg, DangerousReadWriteLock or something.
11:06:09 <[exa]> but that's common to both structures
11:07:24 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
11:07:27 <Maxdamantus> "both structures"? are you talking about two types of read-write lock, where one is the "dangerous" variant that makes the assumption I described above?
11:07:39 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
11:07:51 <Maxdamantus> and where the other is just a plain read-write lock, where the write lock part is essentially a mutex?
11:12:20 × prdak quits (~Thunderbi@user/prdak) (Ping timeout: 244 seconds)
11:16:39 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
11:17:19 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
11:20:12 <[exa]> no, 2 different designs of a data structure, one that allows concurrent writes and reads but the writes have to be managed by a central point to avoid write conflicts (in turn the locking scheme there is a bit easier, something like the RCUs in kernels), and one that allows concurrent writes without any other synchronization going on, because the structure is more complex and thus "ready" for it
11:20:13 <[exa]> (read: there's many lockpoints and some extra buffers for handling the possible write conflicts)
11:21:40 <[exa]> (btw no mutexes, mutexes don't do availability well)
11:22:48 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
11:23:41 soverysour joins (~soverysou@84.232.150.229)
11:23:41 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
11:23:41 soverysour joins (~soverysou@user/soverysour)
11:24:15 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
11:25:09 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
11:25:24 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
11:27:07 <Maxdamantus> [exa]: that sounds like the distinction I was describing. Normally a read-write lock will "allow concurrent writes" by ensuring that only one actor can hold the lock when they access it in write mode.
11:28:25 <Maxdamantus> [exa]: so the one you describe as easier just seems like a variation of a read-write lock that assumes that while the lock is held in write mode, noone else will try to acquire it again in write mode.
11:28:30 xff0x joins (~xff0x@2405:6580:b080:900:55ec:c9f:e8b1:7eb5)
11:28:30 <[exa]> yes but that's a completely impossible behavior here, writes must not cause locks
11:28:45 prdak joins (~Thunderbi@user/prdak)
11:29:32 <[exa]> (pls check out the lucene segmentation)
11:31:01 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds)
11:31:31 × Lycurgus quits (~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
11:36:05 × acidjnk quits (~acidjnk@p200300d6e70b661750c15e2a18f5d35c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
11:37:27 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
11:37:46 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
11:38:22 fp1 joins (~Thunderbi@2001:708:20:1406::10c5)
11:41:16 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 265 seconds)
11:44:39 merijn joins (~merijn@77.242.116.146)
11:52:53 soverysour joins (~soverysou@84.232.150.229)
11:52:54 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
11:52:54 soverysour joins (~soverysou@user/soverysour)
12:00:23 trickard_ is now known as trickard
12:01:59 × talisc quits (~talisc@user/talisc) (Excess Flood)
12:03:41 ystael joins (~ystael@user/ystael)
12:04:19 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 276 seconds)
12:05:03 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
12:07:59 soverysour joins (~soverysou@84.232.150.229)
12:07:59 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
12:07:59 soverysour joins (~soverysou@user/soverysour)
12:08:49 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds)
12:10:37 × trickard quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
12:10:50 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
12:14:16 × califax quits (~califax@user/califx) (Remote host closed the connection)
12:15:35 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 260 seconds)
12:15:58 califax joins (~califax@user/califx)
12:16:22 acidjnk joins (~acidjnk@p200300d6e70b661750c15e2a18f5d35c.dip0.t-ipconnect.de)
12:17:41 soverysour joins (~soverysou@84.232.150.229)
12:17:41 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
12:17:41 soverysour joins (~soverysou@user/soverysour)
12:20:37 merijn joins (~merijn@77.242.116.146)
12:25:32 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
12:27:48 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 276 seconds)
12:30:07 emfrom joins (~emfrom@2a0d:e487:411f:c6e:cf22:a6ad:c205:90d1)
12:31:03 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 276 seconds)
12:31:57 soverysour joins (~soverysou@84.232.150.229)
12:31:57 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
12:31:57 soverysour joins (~soverysou@user/soverysour)
12:33:00 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
12:34:50 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
12:35:05 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
12:37:08 trickard_ is now known as trickard
12:37:34 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 260 seconds)
12:38:59 merijn joins (~merijn@77.242.116.146)
12:43:20 ljdarj joins (~Thunderbi@user/ljdarj)
12:43:55 hseg joins (~gesh@46.120.20.122)
12:43:59 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
12:51:13 soverysour joins (~soverysou@84.232.150.229)
12:51:14 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
12:51:14 soverysour joins (~soverysou@user/soverysour)
12:53:20 merijn joins (~merijn@77.242.116.146)
12:56:20 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
13:01:37 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 248 seconds)
13:02:44 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:05:27 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
13:05:50 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
13:13:36 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
13:13:57 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
13:19:09 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
13:26:36 soverysour joins (~soverysou@84.232.150.229)
13:26:36 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
13:26:36 soverysour joins (~soverysou@user/soverysour)
13:26:45 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 248 seconds)
13:27:33 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
13:31:49 × prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer)
13:32:09 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 276 seconds)
13:44:01 soverysour joins (~soverysou@84.232.150.229)
13:44:01 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
13:44:01 soverysour joins (~soverysou@user/soverysour)
13:49:19 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 260 seconds)
13:55:25 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
13:55:43 prdak joins (~Thunderbi@user/prdak)
14:00:35 × prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer)
14:02:02 prdak joins (~Thunderbi@user/prdak)
14:06:50 × prdak quits (~Thunderbi@user/prdak) (Ping timeout: 268 seconds)
14:20:12 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 272 seconds)
14:22:56 merijn joins (~merijn@77.242.116.146)
14:32:06 × dhil quits (~dhil@5.151.29.140) (Ping timeout: 268 seconds)
14:32:19 × Pixi` quits (~Pixi@user/pixi) (Quit: Leaving)
14:36:11 × Everything quits (~Everythin@77.120.244.38) (Quit: leaving)
14:36:28 soverysour joins (~soverysou@84.232.150.229)
14:36:28 × soverysour quits (~soverysou@84.232.150.229) (Changing host)
14:36:28 soverysour joins (~soverysou@user/soverysour)
14:37:38 × mange quits (~mange@user/mange) (Quit: Zzz...)
14:42:21 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 276 seconds)
14:47:55 Discordian93 joins (~Discordia@user/Discordian93)
14:54:31 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
14:56:00 Pixi joins (~Pixi@user/pixi)
15:02:40 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
15:06:24 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 276 seconds)
15:06:39 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
15:09:19 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
15:17:58 yangby joins (~secret@60.176.176.179)
15:18:22 × ubert quits (~Thunderbi@2a02:8109:abb3:7000:1a90:299a:1ff:5c3d) (Remote host closed the connection)
15:18:27 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
15:18:49 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
15:21:25 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 248 seconds)
15:21:38 × fp1 quits (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 272 seconds)
15:22:00 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 276 seconds)
15:22:23 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
15:39:39 dhil joins (~dhil@5.151.29.139)
15:47:18 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
15:54:30 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
15:56:14 × trickard quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
15:56:28 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
16:04:54 × yangby quits (~secret@60.176.176.179) (Quit: Go out for a walk and buy a drink.)
16:05:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
16:05:49 yangby joins (~secret@60.176.176.179)
16:08:18 × yangby quits (~secret@60.176.176.179) (Client Quit)
16:09:27 yangby joins (~secret@60.176.176.179)
16:14:40 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
16:16:19 mreh joins (~matthew@host86-146-25-68.range86-146.btcentralplus.com)
16:16:59 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
16:18:09 <mreh> I'm doing some emulation, and need to cast a Word8 (raw memory) to an Int8. Is it safe to unsafeCoerce?
16:18:50 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:19:22 <haskellbridge> <magic_rb> Use coerce, if its works, its safe
16:19:43 <mreh> I knew I'd get chewed out for writing that
16:19:52 <EvanR> it doesn't work
16:19:53 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
16:19:57 <haskellbridge> <magic_rb> Ghc will magically derive the Coercible instance if the runtime rep is the same, i think
16:20:00 <haskellbridge> <magic_rb> Nevermind
16:20:02 <haskellbridge> <magic_rb> Lol
16:20:10 <EvanR> Couldn't match representation of type ‘Int8’ with that of ‘Word8’
16:20:20 <haskellbridge> <magic_rb> But i think unsafeCoerce should be ok?
16:20:26 <EvanR> maybe
16:21:47 × mreh quits (~matthew@host86-146-25-68.range86-146.btcentralplus.com) (Read error: Connection reset by peer)
16:22:49 mreh joins (~matthew@host86-146-25-68.range86-146.btcentralplus.com)
16:22:50 <EvanR> they left but I would look for a primitive conversion
16:23:19 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
16:23:30 <tomsmeding> mreh: why not fromIntegral?
16:23:32 <EvanR> if it doesn't already exist use it to write a normal function which munges the newtype wrappers and does the conversion
16:23:36 <EvanR> or that
16:23:49 <mreh> sorry, crashed
16:23:53 mreh checks logs
16:23:56 <tomsmeding> > map fromIntegral [0 :: Word8, 100, 200, 255]
16:23:57 <lambdabot> [0,100,200,255]
16:24:02 <tomsmeding> > map fromIntegral [0 :: Word8, 100, 200, 255] :: [Int8]
16:24:04 <lambdabot> [0,100,-56,-1]
16:24:16 <haskellbridge> <magic_rb> tomsmeding does it optimize properly?
16:24:22 <haskellbridge> <magic_rb> It should compile to a noop
16:24:30 <tomsmeding> there are tons of rewrite rules for fromIntegral, let me check
16:24:42 <mreh> that was not how I expect fromIntegral to work
16:25:22 <EvanR> also a C style cast from Word8 to Int8 isn't the same as unsafeCoerce
16:25:30 <EvanR> it's more like the above
16:25:43 <tomsmeding> mreh: how did you expect it to work?
16:25:54 <mreh> tomsmeding: good point
16:27:07 <mreh> it's only a gameboy interpreter, no need to blazingly fast optimizations
16:27:29 <EvanR> a baseline expectation for this operation would be, if the value is representable by both Word8 and Int8 then the conversion leaves the value unchanged
16:27:38 <tomsmeding> magic_rb: https://play.haskell.org/saved/5AlmTIJY
16:27:53 <tomsmeding> the 2* and +1 added to see where the actual user code is
16:28:05 <tomsmeding> in Core you can see that fromIntegral becomes GHC.Prim.word8ToInt8#
16:28:22 <tomsmeding> when you click Asm, you see that it becomes two adjacent assembly instructions, addb and shlb
16:28:42 <tomsmeding> plenty of administration around it but that looks unrelated to the integer conversion
16:29:07 <EvanR> that the answer to this question ended up amounting to doing a conversion is great
16:29:11 <EvanR> because unsafeCoerce doesn't
16:29:16 <tomsmeding> mreh: an alternative implementation of fromIntegral would have been: throw a runtime error if the value is not as-is representable in the target type
16:29:47 <tomsmeding> even better would have been static restrictions like https://hackage.haskell.org/package/int-cast does
16:29:51 prdak joins (~Thunderbi@user/prdak)
16:31:15 × Discordian93 quits (~Discordia@user/Discordian93) (Quit: Leaving.)
16:31:21 <mreh> I wasn't expecting the answer to be fromIntegral, but there you go
16:31:25 <tomsmeding> magic_rb: unsafeCoerce is actually _slower_ in this case because unsafeCoerce works on lifted values
16:31:29 <tomsmeding> https://play.haskell.org/saved/jR3HVPQ5
16:32:07 <tomsmeding> writing 2 * unsafeCoerce (x + 1) requires GHC to box the Word8# result of 'x +# 1#' to a Word8 again, dereference the pointer again but now as an Int8, and do the 2* on the Int8#
16:32:22 <tomsmeding> because GHC receives from unsafeCoerce an equality of Int8 and Word8, not of Int8# and Word8#
16:32:52 <tomsmeding> now in this case you could probably use unsafeCoerce# on the unboxed values inside, and it would work on processors that put 8-bit signed and unsigned integers in the same registers (which is all of them)
16:33:09 <haskellbridge> <magic_rb> Right so unsafeCoerce breaks the unboxed arithmetic magic, interesting
16:33:27 <haskellbridge> <magic_rb> To use unsafeCoerce# youd have to write unbox code which is a pain in the arse
16:33:35 × yangby quits (~secret@60.176.176.179) (Quit: Go out for a walk and buy a drink.)
16:33:53 <tomsmeding> but unsafeCoerce# is really unsafe: if you unsafeCoerce# a Double# to a Word64#, which one would think should just work on a machine with 64-bit doubles, GHC will generate Word64# instructions on a floating-point register and you'll get syntax errors from your assembler
16:33:55 <tomsmeding> been there, done that
16:34:11 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
16:34:18 × prdak quits (~Thunderbi@user/prdak) (Ping timeout: 252 seconds)
16:34:20 × ames quits (~amelia@offtopia/offtopian/amelia) (Quit: Bye!)
16:34:20 <EvanR> hold on unsafeCoerce isn't a no-op?
16:34:27 <tomsmeding> EvanR: it's a no-op on boxed values
16:34:40 <EvanR> e.g. Int8 and Word8
16:34:43 ames joins (~amelia@offtopia/offtopian/amelia)
16:34:44 <tomsmeding> but GHC aggressively unboxes arithmetic, as it should
16:34:46 <tomsmeding> yes
16:35:05 <haskellbridge> <magic_rb> Yeah unsafeCoerce breaks the unboxed arithmetic optimization sadly
16:35:25 <haskellbridge> <magic_rb> tomsmeding getting syntax errors from your assembler, good one XD
16:35:30 <EvanR> a no-op that is slow
16:35:33 <EvanR> lol
16:35:39 <haskellbridge> <magic_rb> Only in this case :P
16:35:44 <haskellbridge> <magic_rb> Other wise its a noop
16:36:03 <mreh> what does GHC do? rebox then unbox it again?
16:36:42 mreh reads up, ah looks like it
16:36:52 <[exa]> I wish to know how'd someone manage to turn i8 to u8 conversion into a cost centre
16:37:37 <tomsmeding> [exa]: they didn't, I think, mreh just wanted the thing that fromIntegral does but somehow expected fromIntegral to do something different
16:38:36 <mreh> it's not intuitive, at least to me, but I guess the value wraps and it gets the right answer
16:38:36 <tomsmeding> magic_rb: https://play.haskell.org/saved/ygIqjecU
16:38:54 <tomsmeding> using Int and not Word64 because GHC has nice unboxed literal syntax for Int# but not for Word64#
16:39:33 <haskellbridge> <magic_rb> [exa] yeah the optimization was completely my fault, i took as a "hey it should be a noop" challenge
16:39:55 <[exa]> yeah I know, was just curious :D
16:40:22 × cawfee quits (root@2001:19f0:4400:79a1::babe) (Ping timeout: 252 seconds)
16:40:27 <tomsmeding> [exa]: you might also appreciate https://play.haskell.org/saved/ygIqjecU
16:40:36 <tomsmeding> in case you hadn't seen that yet
16:41:28 <[exa]> yes that's just...lovely I guess :D
16:42:13 <tomsmeding> I actually ran into this in practice because I wanted to do a primitive compare-and-swap on a storable vector of Doubles, but GHC only provides a CAS primop on Int
16:42:23 <tomsmeding> which makes sense because CPUs generally only provide it on native words
16:42:53 <tomsmeding> so I thought, well, I'll just unsafeCoerce# the Double# to an Int#, right? It's the same number of bits, and CAS doesn't care about the contents of those bits
16:43:00 <tomsmeding> cue assembler syntax error
16:43:11 <haskellbridge> <magic_rb> Howd you solve the problem?
16:43:43 <tomsmeding> word64ToWord# . stfDOubleToWord64 :: Double# -> Word#
16:43:47 <tomsmeding> *stg, not stf
16:44:02 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 244 seconds)
16:44:04 <tomsmeding> the primop is atomicCasWordAddr# -- it works on Word#, not Int#, I misremembered
16:44:09 <tomsmeding> https://github.com/tomsmeding/ad-dualrev-th/blob/master/src/Data/Vector/Storable/Mutable/CAS.hs
16:45:09 <tomsmeding> who said haskell was a high-level language
16:45:15 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
16:45:42 <EvanR> haskell is the best low level bit bashing language?
16:45:49 <tomsmeding> I'm not sure about "best"
16:45:52 <EvanR> lol
16:46:17 <EvanR> standard C does not have all these primitives so it might be beating C at "low level"
16:46:17 <haskellbridge> <magic_rb> Only people that have not interacted with the haskell community say that haskell is a high level language
16:46:31 <haskellbridge> <magic_rb> Ive been saying its a low level systems language since forever
16:46:57 <tomsmeding> EvanR: are you specifically referring to ISO standardised C, or C as implemented in practice?
16:47:10 <tomsmeding> because Haskell2010 certainly also doesn't have stgDoubleToWord64
16:47:30 <EvanR> I was unscrupulously comparing standardized C to defacto haskell
16:47:39 <tomsmeding> that's what I suspected
16:47:41 <EvanR> lol
16:48:27 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
16:48:42 tomsmeding will be afk for a while
16:48:47 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
16:57:57 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
16:58:10 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
16:58:33 × harveypwca quits (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving)
17:05:35 × mreh quits (~matthew@host86-146-25-68.range86-146.btcentralplus.com) (Ping timeout: 265 seconds)
17:09:59 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 245 seconds)
17:11:08 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
17:14:55 × AlexZenon quits (~alzenon@178.34.163.228) (Quit: ;-)
17:14:57 ft joins (~ft@p3e9bcab0.dip0.t-ipconnect.de)
17:17:48 shaeto joins (~Shaeto@94.25.234.84)
17:22:27 AlexZenon joins (~alzenon@178.34.163.228)
17:23:14 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:25:56 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:28:18 × inline quits (~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) (Quit: Leaving)
17:30:42 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
17:30:54 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:33:42 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
17:34:44 × ames quits (~amelia@offtopia/offtopian/amelia) (Quit: Bye!)
17:34:54 ames joins (~amelia@offtopia/offtopian/amelia)
17:38:43 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
17:39:04 ljdarj joins (~Thunderbi@user/ljdarj)
17:39:42 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
17:39:59 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
17:43:45 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 248 seconds)
17:45:08 OftenFaded joins (~OftenFade@user/tisktisk)
17:48:29 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds)
17:57:07 × shaeto quits (~Shaeto@94.25.234.84) (Quit: WeeChat 4.1.1)
17:57:09 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:02:33 × dhil quits (~dhil@5.151.29.139) (Ping timeout: 276 seconds)
18:02:48 × glguy quits (glguy@libera/staff/glguy) (Remote host closed the connection)
18:03:42 prdak joins (~Thunderbi@user/prdak)
18:04:31 × digit quits (~user@user/digit) (Read error: Connection reset by peer)
18:06:45 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
18:06:51 glguy joins (glguy@libera/staff/glguy)
18:08:04 × prdak quits (~Thunderbi@user/prdak) (Ping timeout: 252 seconds)
18:14:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:18:11 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
18:18:48 × fun-safe-math quits (~fun-safe-@97-120-106-107.ptld.qwest.net) (Ping timeout: 276 seconds)
18:19:33 fun-safe-math joins (~fun-safe-@97.115.254.112)
18:21:45 comerijn joins (~merijn@77.242.116.146)
18:21:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Read error: Connection reset by peer)
18:25:44 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
18:28:32 sprotte24 joins (~sprotte24@p200300d16f147e00e80e584d50a84a27.dip0.t-ipconnect.de)
18:29:12 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 276 seconds)
18:30:54 Digit joins (~user@user/digit)
18:31:53 AlexNoo_ joins (~AlexNoo@178.34.163.228)
18:32:44 Square2 joins (~Square@user/square)
18:32:45 monochrm joins (trebla@216.138.220.146)
18:33:00 hsw_ joins (~hsw@106.104.103.23)
18:33:48 polykernel_ joins (~polykerne@user/polykernel)
18:33:56 dutchie_ joins (~dutchie@user/dutchie)
18:33:57 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 248 seconds)
18:34:15 goldstein joins (~goldstein@goldstein.rs)
18:34:20 eL_Bart0- joins (eL_Bart02@dietunichtguten.org)
18:34:22 qaotsap joins (~paotsaq@161.230.89.225)
18:34:26 kaskal- joins (~kaskal@2a02:8388:15bf:c200:6b44:aaf4:76f8:8b1)
18:34:31 pierrot_ joins (~pi@user/pierrot)
18:34:34 m5zs7k_ joins (aquares@web10.mydevil.net)
18:34:53 zzz joins (~z@user/zero)
18:35:08 Spawns joins (~mobile@user/spawns-carpeting/x-6969421)
18:35:26 j1n37- joins (~j1n37@user/j1n37)
18:36:00 tmciver joins (~tim@syn-198-255-177-240.res.spectrum.com)
18:36:36 Miroboru_ joins (~myrvoll@178-164-114.82.3p.ntebredband.no)
18:36:42 crazazy1 joins (~crazazy@2602:f72c:0:400::be50:77ed)
18:36:50 tjbc_ joins (~tjbc@user/fliife)
18:36:51 divya- joins (divya@140.238.251.170)
18:36:57 juri__ joins (~juri@implicitcad.org)
18:37:20 philopso1 joins (~caecilius@pool-96-246-242-199.nycmny.fios.verizon.net)
18:37:32 finstern1s joins (~X@23.226.237.192)
18:41:22 Discordian93 joins (~Discordia@46.136.108.191)
18:41:55 × ljdarj quits (~Thunderbi@user/ljdarj) (*.net *.split)
18:41:56 × hsw quits (~hsw@106.104.103.23) (*.net *.split)
18:41:56 × manwithluck quits (~manwithlu@194.177.28.145) (*.net *.split)
18:41:56 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (*.net *.split)
18:41:56 × Square quits (~Square@user/square) (*.net *.split)
18:41:56 × lutherann quits (~micc@user/lutherann) (*.net *.split)
18:41:56 × j1n37 quits (~j1n37@user/j1n37) (*.net *.split)
18:41:56 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (*.net *.split)
18:41:56 × EvanR quits (~EvanR@user/evanr) (*.net *.split)
18:41:56 × Miroboru quits (~myrvoll@178-164-114.82.3p.ntebredband.no) (*.net *.split)
18:41:57 × juri_ quits (~juri@implicitcad.org) (*.net *.split)
18:41:57 × paotsaq quits (~paotsaq@161.230.89.225) (*.net *.split)
18:41:57 × edwardk quits (sid47016@haskell/developer/edwardk) (*.net *.split)
18:41:57 × ZLima12 quits (~zlima12@user/meow/ZLima12) (*.net *.split)
18:41:57 × monochrom quits (trebla@216.138.220.146) (*.net *.split)
18:41:57 × philopsos quits (~caecilius@user/philopsos) (*.net *.split)
18:41:57 × haritz quits (~hrtz@user/haritz) (*.net *.split)
18:41:57 × m5zs7k quits (aquares@web10.mydevil.net) (*.net *.split)
18:41:57 × olivial quits (~benjaminl@user/benjaminl) (*.net *.split)
18:41:57 × eL_Bart0 quits (eL_Bart02@dietunichtguten.org) (*.net *.split)
18:41:57 × xal quits (~xal@mx1.xal.systems) (*.net *.split)
18:41:57 × AlexNoo quits (~AlexNoo@178.34.163.228) (*.net *.split)
18:41:58 × dutchie quits (~dutchie@user/dutchie) (*.net *.split)
18:41:58 × polykernel quits (~polykerne@user/polykernel) (*.net *.split)
18:41:58 × crazazy quits (~crazazy@23.133.40.12) (*.net *.split)
18:41:58 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split)
18:41:58 × tjbc quits (~tjbc@user/fliife) (*.net *.split)
18:41:58 × yin quits (~z@user/zero) (*.net *.split)
18:41:58 × myme quits (~myme@2a01:799:d5e:5f00:4958:b9a4:64d0:c252) (*.net *.split)
18:41:58 × Pozyomka quits (~pyon@user/pyon) (*.net *.split)
18:41:58 × kaskal quits (~kaskal@84-115-231-2.cable.dynamic.surfer.at) (*.net *.split)
18:41:58 × alethkit quits (23bd17ddc6@sourcehut/user/alethkit) (*.net *.split)
18:41:59 × Spawns_Carpeting quits (~mobile@user/spawns-carpeting/x-6969421) (*.net *.split)
18:41:59 × GoldsteinQ quits (~goldstein@goldstein.rs) (*.net *.split)
18:41:59 × pierrot quits (~pi@user/pierrot) (*.net *.split)
18:41:59 × divya quits (divya@140.238.251.170) (*.net *.split)
18:41:59 × finsternis quits (~X@23.226.237.192) (*.net *.split)
18:41:59 polykernel_ is now known as polykernel
18:41:59 × Discordian93 quits (~Discordia@46.136.108.191) (Changing host)
18:41:59 Discordian93 joins (~Discordia@user/Discordian93)
18:41:59 dutchie_ is now known as dutchie
18:42:00 finstern1s is now known as finsternis
18:42:05 zzz is now known as yin
18:42:05 monochrm is now known as monochrom
18:42:15 manwithluck joins (~manwithlu@194.177.28.145)
18:43:40 m5zs7k_ is now known as m5zs7k
18:44:34 Guest34 joins (~Guest51@2601:249:1100:6640::bc9f)
18:45:20 × Guest34 quits (~Guest51@2601:249:1100:6640::bc9f) (Client Quit)
18:45:50 × mud quits (~mud@user/kadoban) (Ping timeout: 252 seconds)
18:46:46 mud joins (~mud@user/kadoban)
18:47:03 alexherbo2 joins (~alexherbo@2a02-8440-b508-e042-5ded-1a59-0b3c-83dc.rev.sfr.net)
18:48:17 talisc joins (~talisc@user/talisc)
18:52:30 × Discordian93 quits (~Discordia@user/Discordian93) (Remote host closed the connection)
18:52:31 <[exa]> kinda open question ---- after reading the description here https://hackage.haskell.org/package/base-4.21.0.0/docs/GHC-IO-Handle.html#v:hLock , one could believe that the hLock almost surely uses flock() internally, and certainly doesn't do any fcntl() locking, right?
18:54:14 × talisc quits (~talisc@user/talisc) (Quit: Leaving.)
18:55:46 <mauke> "The implementation uses LockFileEx on Windows and flock otherwise [...] We deliberately choose to not provide fcntl based locking instead because of its broken semantics."
18:59:05 <geekosaur> which of course gets shot down on systems which emulate flock with fcntl
18:59:22 <geekosaur> (although I'm not sure how many such exist these days)
19:00:03 × caconym7 quits (~caconym@user/caconym) (Quit: bye)
19:00:43 caconym7 joins (~caconym@user/caconym)
19:01:58 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
19:04:29 × hseg quits (~gesh@46.120.20.122) (Ping timeout: 265 seconds)
19:13:36 × sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
19:13:56 sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
19:16:33 × mud quits (~mud@user/kadoban) (Ping timeout: 248 seconds)
19:18:29 ljdarj joins (~Thunderbi@user/ljdarj)
19:18:29 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
19:18:29 lutherann joins (~micc@user/lutherann)
19:18:29 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
19:18:29 EvanR joins (~EvanR@user/evanr)
19:18:29 edwardk joins (sid47016@haskell/developer/edwardk)
19:18:29 ZLima12 joins (~zlima12@user/meow/ZLima12)
19:18:29 haritz joins (~hrtz@user/haritz)
19:18:29 olivial joins (~benjaminl@user/benjaminl)
19:18:29 xal joins (~xal@mx1.xal.systems)
19:18:29 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
19:18:29 myme joins (~myme@2a01:799:d5e:5f00:4958:b9a4:64d0:c252)
19:18:29 Pozyomka joins (~pyon@user/pyon)
19:18:29 047ABTR1J joins (23bd17ddc6@sourcehut/user/alethkit)
19:18:34 × 047ABTR1J quits (23bd17ddc6@sourcehut/user/alethkit) (Max SendQ exceeded)
19:18:34 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded)
19:18:34 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Max SendQ exceeded)
19:18:43 ZLima12 joins (~zlima12@user/meow/ZLima12)
19:18:44 alethkit_ joins (23bd17ddc6@sourcehut/user/alethkit)
19:19:26 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
19:21:34 Spawns is now known as Spawns_Carpeting
19:22:24 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Ping timeout: 260 seconds)
19:22:31 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
19:23:14 mud joins (~mud@user/kadoban)
19:24:07 alethkit_ is now known as alethkit
19:24:10 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
19:30:48 × emfrom quits (~emfrom@2a0d:e487:411f:c6e:cf22:a6ad:c205:90d1) (Remote host closed the connection)
19:36:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:37:02 ljdarj1 joins (~Thunderbi@user/ljdarj)
19:37:42 EvanR_ joins (~EvanR@user/evanr)
19:37:43 × ljdarj quits (~Thunderbi@user/ljdarj) (*.net *.split)
19:37:43 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (*.net *.split)
19:37:43 × lutherann quits (~micc@user/lutherann) (*.net *.split)
19:37:43 × EvanR quits (~EvanR@user/evanr) (*.net *.split)
19:37:43 × edwardk quits (sid47016@haskell/developer/edwardk) (*.net *.split)
19:37:43 × haritz quits (~hrtz@user/haritz) (*.net *.split)
19:37:43 × olivial quits (~benjaminl@user/benjaminl) (*.net *.split)
19:37:43 × xal quits (~xal@mx1.xal.systems) (*.net *.split)
19:37:43 × myme quits (~myme@2a01:799:d5e:5f00:4958:b9a4:64d0:c252) (*.net *.split)
19:37:43 × Pozyomka quits (~pyon@user/pyon) (*.net *.split)
19:37:44 ljdarj1 is now known as ljdarj
19:38:32 edwardk joins (sid47016@haskell/developer/edwardk)
19:38:35 haritz joins (~hrtz@152.37.64.162)
19:38:38 olivial joins (~benjaminl@user/benjaminl)
19:39:34 × mud quits (~mud@user/kadoban) (Ping timeout: 245 seconds)
19:39:46 tabaqui joins (~tabaqui@167.71.80.236)
19:40:07 <[exa]> mauke geekosaur: yeah so on a typical mainstream linux it actually does fcntl as the first try
19:40:20 × haritz quits (~hrtz@152.37.64.162) (Changing host)
19:40:20 haritz joins (~hrtz@user/haritz)
19:40:21 <mauke> what?
19:40:27 <[exa]> luckily not the SETLK but some other even more exotic locking
19:40:50 xal joins (~xal@mx1.xal.systems)
19:40:52 <[exa]> (F_GETLK vs F_OFD_GETLK)
19:41:11 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
19:41:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
19:41:29 <[exa]> like, it's a good choice in the end but I guess I'll open a MR to update the docstring at least
19:41:41 Pozyomka joins (~pyon@user/pyon)
19:41:41 × acidjnk quits (~acidjnk@p200300d6e70b661750c15e2a18f5d35c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
19:41:43 myme joins (~myme@2a01:799:d5e:5f00:33d5:753e:da5c:fb23)
19:41:48 lutherann joins (~micc@user/lutherann)
19:44:59 <mauke> oh, linux specific
19:45:09 <mauke> and semantically like flock
19:46:17 <mauke> ... but glibc flock() still uses the flock syscall
19:47:48 <[exa]> ah ok it's "fixed" already https://gitlab.haskell.org/ghc/ghc/-/issues/25629
19:51:11 mud joins (~mud@user/kadoban)
19:51:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:53:38 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
19:56:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
19:56:39 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
19:56:48 × lutherann quits (~micc@user/lutherann) (Quit: WeeChat 4.5.2)
20:02:20 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
20:06:44 prdak joins (~Thunderbi@user/prdak)
20:07:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:09:02 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
20:09:56 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
20:10:12 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
20:12:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
20:14:30 acidjnk joins (~acidjnk@p200300d6e70b6636cdb308402753529f.dip0.t-ipconnect.de)
20:17:48 Lycurgus joins (~juan@user/Lycurgus)
20:19:46 target_i joins (~target_i@user/target-i/x-6023099)
20:20:11 × alexherbo2 quits (~alexherbo@2a02-8440-b508-e042-5ded-1a59-0b3c-83dc.rev.sfr.net) (Remote host closed the connection)
20:20:13 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
20:22:28 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
20:23:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:29:45 soverysour joins (~soverysou@user/soverysour)
20:30:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
20:31:17 × Square2 quits (~Square@user/square) (Ping timeout: 248 seconds)
20:31:55 pavonia joins (~user@user/siracusa)
20:32:53 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
20:33:32 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
20:34:43 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 252 seconds)
20:37:07 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
20:37:20 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
20:37:48 × michalz_ quits (~michalz@185.246.207.203) (Remote host closed the connection)
20:38:15 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 265 seconds)
20:40:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
20:41:38 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
20:41:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:42:16 EvanR_ is now known as EvanR
20:43:05 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
20:46:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
20:48:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
20:49:15 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
20:50:54 × EvanR quits (~EvanR@user/evanr) (Ping timeout: 276 seconds)
20:52:18 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
20:57:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:59:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
20:59:34 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 245 seconds)
21:03:03 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:04:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
21:06:09 × prdak quits (~Thunderbi@user/prdak) (Ping timeout: 268 seconds)
21:06:13 sim590 joins (~simon@2001:18c0:a82:2400::9fb)
21:08:40 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
21:11:00 × dutchie quits (~dutchie@user/dutchie) (Read error: Connection reset by peer)
21:11:14 dutchie joins (~dutchie@user/dutchie)
21:15:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:20:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
21:20:11 × sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
21:20:29 sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
21:20:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
21:27:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:28:51 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
21:29:31 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
21:29:41 × sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
21:32:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
21:33:00 sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
21:33:05 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 248 seconds)
21:37:53 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Ping timeout: 248 seconds)
21:41:15 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
21:41:34 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
21:43:00 <monochrom> magic_rb: (Belated) I once expanded "Cont r a -> (a -> Cont r b) -> Cont r b" to "understand" it. :)
21:43:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:46:17 <haskellbridge> <magic_rb> monochrom im not following :(
21:46:54 <monochrom> You asked for practical scary types.
21:47:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
21:47:41 <haskellbridge> <magic_rb> Oh
21:47:42 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
21:47:49 <haskellbridge> <magic_rb> Well, it doesnt _look_ scary
21:48:01 <haskellbridge> <magic_rb> This is meant for people that dont speak haskell :P
21:48:15 <haskellbridge> <magic_rb> I just didnt want to put complete bollocks on the slide
21:48:46 <monochrom> Right, you have to expand Cont r a to (a -> r) -> r throughout
21:49:13 <monochrom> ((a -> r) -> r) -> (a -> (b -> r) -> r) -> (b -> r) -> r
21:49:14 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
21:54:30 × sprotte24 quits (~sprotte24@p200300d16f147e00e80e584d50a84a27.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
21:55:18 <haskellbridge> <magic_rb> tomsmeding my irc bridge is down, if youve got nothing better to do you can come to my thesis presentation on thursday :P
21:58:41 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
21:58:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:59:27 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
22:02:49 × ThePenguin quits (~ThePengui@cust-95-80-31-242.csbnet.se) (Read error: Connection reset by peer)
22:02:53 ThePenguin0 joins (~ThePengui@cust-95-80-31-242.csbnet.se)
22:03:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
22:06:37 × Lycurgus quits (~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
22:13:21 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
22:14:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:17:12 Sgeo joins (~Sgeo@user/sgeo)
22:18:03 jmcantrell joins (~weechat@user/jmcantrell)
22:18:50 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 244 seconds)
22:19:34 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
22:21:25 × tmciver quits (~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 244 seconds)
22:23:18 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
22:25:14 euphores joins (~SASL_euph@user/euphores)
22:26:36 <ski> @djinn ((a -> s) -> a) -> (a -> (b -> s) -> b) -> (b -> s) -> b
22:26:36 <lambdabot> f a b c = b (a (\ d -> c (b d c))) c
22:27:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
22:30:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:32:04 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 245 seconds)
22:37:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
22:48:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:52:12 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
22:53:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
23:01:31 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
23:02:52 <haskellbridge> <magic_rb> What am i even looking at
23:02:55 <haskellbridge> <magic_rb> Im so confuswd
23:04:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:04:28 prdak joins (~Thunderbi@user/prdak)
23:04:59 <ski> @where impossible
23:05:00 <lambdabot> <http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/>,<http://math.andrej.com/2008/11/21/a-haskell-monad-for-infinite-search-in-finite-time/>
23:07:09 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
23:08:44 × jespada quits (~jespada@r179-25-124-186.dialup.adsl.anteldata.net.uy) (Ping timeout: 245 seconds)
23:09:05 × prdak quits (~Thunderbi@user/prdak) (Ping timeout: 248 seconds)
23:09:06 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
23:11:47 jespada joins (~jespada@r179-25-200-182.dialup.adsl.anteldata.net.uy)
23:15:30 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
23:20:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:25:31 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
23:28:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
23:29:45 emmanuelux joins (~emmanuelu@user/emmanuelux)
23:30:49 × acidjnk quits (~acidjnk@p200300d6e70b6636cdb308402753529f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
23:31:36 trickard__ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
23:33:06 trickard__ is now known as trickard
23:33:24 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Ping timeout: 276 seconds)
23:36:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:41:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
23:46:44 EvanR joins (~EvanR@user/evanr)
23:51:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:54:38 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 272 seconds)
23:55:06 tomboy64 joins (~tomboy64@user/tomboy64)
23:56:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)

All times are in UTC on 2025-06-23.