2025/06/23

2025-06-23 00:05:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-06-23 00:05:56 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-23 00:06:38 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 00:06:56 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) szkl
2025-06-23 00:10:49 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-06-23 00:11:40 +0200prdak(~Thunderbi@user/prdak) (Ping timeout: 276 seconds)
2025-06-23 00:13:21 +0200dispater(~dispater@user/brprice) (Quit: ZNC 1.8.2 - https://znc.in)
2025-06-23 00:13:22 +0200orcus(~orcus@user/brprice) (Quit: ZNC 1.8.2 - https://znc.in)
2025-06-23 00:15:05 +0200dispater(~dispater@user/brprice) brprice
2025-06-23 00:15:34 +0200orcus(~orcus@user/brprice) brprice
2025-06-23 00:18:24 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 268 seconds)
2025-06-23 00:19:23 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-06-23 00:32:49 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 248 seconds)
2025-06-23 00:33:57 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 00:33:59 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-06-23 00:46:50 +0200ystael(~ystael@user/ystael) (Ping timeout: 252 seconds)
2025-06-23 00:46:50 +0200haskellbridge(~hackager@syn-096-028-224-214.res.spectrum.com) (Read error: Connection reset by peer)
2025-06-23 00:47:18 +0200haskellbridge(~hackager@syn-096-028-224-214.res.spectrum.com) hackager
2025-06-23 00:47:18 +0200ChanServ+v haskellbridge
2025-06-23 00:49:47 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-15-174-95-4-83.dsl.bell.ca) (Remote host closed the connection)
2025-06-23 00:49:49 +0200jespada(~jespada@r190-133-49-105.dialup.adsl.anteldata.net.uy) (Ping timeout: 260 seconds)
2025-06-23 00:51:31 +0200jespada(~jespada@r167-61-33-87.dialup.adsl.anteldata.net.uy) jespada
2025-06-23 00:52:42 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 276 seconds)
2025-06-23 00:52:46 +0200tmciver_(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 00:54:16 +0200tromp(~textual@2001:1c00:3487:1b00:3d67:6270:e25f:3cc5) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-06-23 00:57:56 +0200wbooze(~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) (Quit: Leaving)
2025-06-23 01:00:40 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-23 01:01:00 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-23 01:02:08 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-06-23 01:02:45 +0200acidjnk(~acidjnk@p200300d6e70b661750c15e2a18f5d35c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-06-23 01:08:43 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2025-06-23 01:17:01 +0200sprotte24(~sprotte24@p200300d16f0e3d00d9d0ec515bdfe1f4.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-06-23 01:26:04 +0200wbooze(~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) Inline
2025-06-23 01:35:23 +0200ystael(~ystael@user/ystael) ystael
2025-06-23 01:39:34 +0200Lycurgus(~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
2025-06-23 01:41:33 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
2025-06-23 01:43:19 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-06-23 01:48:53 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-06-23 02:03:28 +0200jespada(~jespada@r167-61-33-87.dialup.adsl.anteldata.net.uy) (Ping timeout: 252 seconds)
2025-06-23 02:11:32 +0200tmciver_(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 252 seconds)
2025-06-23 02:12:37 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 02:15:54 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2025-06-23 02:20:58 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 02:22:07 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 02:23:24 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 244 seconds)
2025-06-23 02:27:31 +0200mange(~mange@user/mange) mange
2025-06-23 02:30:13 +0200notzmv(~umar@user/notzmv) notzmv
2025-06-23 02:31:08 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-06-23 02:32:10 +0200rekahsoft(~rekahsoft@174.95.4.83) rekahsoft
2025-06-23 02:35:35 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-06-23 02:36:59 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 02:38:11 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 02:38:29 +0200Guest0(~Guest0@176.140.66.145)
2025-06-23 02:40:52 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 252 seconds)
2025-06-23 02:41:36 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 02:59:29 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-06-23 03:00:29 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-06-23 03:03:07 +0200Guest0(~Guest0@176.140.66.145) (Quit: Client closed)
2025-06-23 03:04:50 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2025-06-23 03:06:19 +0200notzmv(~umar@user/notzmv) (Ping timeout: 260 seconds)
2025-06-23 03:06:57 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 03:07:19 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-23 03:07:24 +0200trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 03:07:30 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 03:07:38 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 03:07:41 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-23 03:13:25 +0200xff0x(~xff0x@2405:6580:b080:900:e2f0:8dab:7117:a113) (Ping timeout: 248 seconds)
2025-06-23 03:18:23 +0200wickedjargon(~user@node-1w7jr9unn02np47211p5af1tx.ipv6.telus.net) wickedjargon
2025-06-23 03:21:29 +0200wbooze(~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
2025-06-23 03:27:06 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 03:28:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 03:28:11 +0200 <hololeap> how can I get System.Directory.OsPath to talk with System.Posix.Files.PosixString? OsPath can't be coerced into a PosixPath
2025-06-23 03:28:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-06-23 03:28:55 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 03:29:08 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 03:30:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 03:31:11 +0200 <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
2025-06-23 03:36:24 +0200wbooze(~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) Inline
2025-06-23 03:42:18 +0200wbooze(~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) (Remote host closed the connection)
2025-06-23 03:42:51 +0200wbooze(~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) Inline
2025-06-23 03:47:15 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 03:48:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 03:51:49 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 260 seconds)
2025-06-23 03:52:08 +0200lutherann(~micc@user/lutherann) lutherann
2025-06-23 03:52:15 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 04:06:02 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 04:10:29 +0200prdak(~Thunderbi@user/prdak) (Ping timeout: 248 seconds)
2025-06-23 04:15:21 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-06-23 04:20:59 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-06-23 04:21:11 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 04:21:22 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 268 seconds)
2025-06-23 04:22:48 +0200 <hololeap> I figured it out
2025-06-23 04:30:30 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 244 seconds)
2025-06-23 04:30:36 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-06-23 04:31:23 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 04:31:50 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-06-23 04:32:10 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-23 04:32:42 +0200ystael(~ystael@user/ystael) (Ping timeout: 252 seconds)
2025-06-23 04:37:05 +0200comonad(~comonad@p200300d0270a4d00bd2fa57947ace417.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-06-23 04:39:29 +0200comonad(~comonad@p54a0317c.dip0.t-ipconnect.de)
2025-06-23 04:40:43 +0200wickedjargon(~user@node-1w7jr9unn02np47211p5af1tx.ipv6.telus.net) (Remote host closed the connection)
2025-06-23 04:44:08 +0200notzmv(~umar@user/notzmv) notzmv
2025-06-23 04:48:19 +0200notzmv(~umar@user/notzmv) (Ping timeout: 245 seconds)
2025-06-23 04:52:16 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-06-23 04:59:28 +0200trickard_trickard
2025-06-23 05:05:15 +0200notzmv(~umar@user/notzmv) notzmv
2025-06-23 05:07:35 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-06-23 05:09:27 +0200wbooze(~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) (Read error: Connection reset by peer)
2025-06-23 05:11:01 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-23 05:18:31 +0200aforemny(~aforemny@i577B12AC.versanet.de) aforemny
2025-06-23 05:19:17 +0200aforemny_(~aforemny@i577B12E7.versanet.de) (Ping timeout: 248 seconds)
2025-06-23 05:29:26 +0200wbooze(~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) Inline
2025-06-23 05:31:34 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2025-06-23 05:33:32 +0200wboozeinline
2025-06-23 05:35:42 +0200inline_(~inline@ip-005-146-197-162.um05.pools.vodafone-ip.de) Inline
2025-06-23 05:36:01 +0200inlinewbooze
2025-06-23 05:36:16 +0200inline_inline
2025-06-23 05:36:20 +0200sclv(sid39734@haskell/developer/sclv) (Ping timeout: 244 seconds)
2025-06-23 05:37:24 +0200arahael(~arahael@user/arahael) (Ping timeout: 260 seconds)
2025-06-23 05:39:47 +0200sclv(sid39734@haskell/developer/sclv) sclv
2025-06-23 05:42:17 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 05:44:29 +0200 <mange> What did you do to get it working?
2025-06-23 05:44:33 +0200notzmv(~umar@user/notzmv) (Ping timeout: 276 seconds)
2025-06-23 05:45:37 +0200notzmv(~umar@user/notzmv) notzmv
2025-06-23 05:46:26 +0200 <EvanR> the solution classically exists
2025-06-23 05:46:57 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 248 seconds)
2025-06-23 05:57:06 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 06:01:56 +0200 <mauke> use either System.Directory.listDirectory + System.Posix.Files.getSymbolicLinkStatus (both FilePath) or System.Directory.OsPath.listDirectory + ystem.Directory.Internal.getSymbolicLinkMetadata (both OsPath)
2025-06-23 06:05:06 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-06-23 06:07:52 +0200notzmv(~umar@user/notzmv) (Ping timeout: 276 seconds)
2025-06-23 06:08:56 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2025-06-23 06:16:57 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-06-23 06:18:02 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2025-06-23 06:20:17 +0200poscat(~poscat@user/poscat) poscat
2025-06-23 06:21:44 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2025-06-23 06:27:00 +0200poscat0x04(~poscat@user/poscat) poscat
2025-06-23 06:30:05 +0200poscat(~poscat@user/poscat) (Ping timeout: 260 seconds)
2025-06-23 06:38:16 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 06:39:33 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 06:40:18 +0200rekahsoft(~rekahsoft@174.95.4.83) (Remote host closed the connection)
2025-06-23 06:42:23 +0200Lycurgus(~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
2025-06-23 06:47:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-06-23 06:48:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-23 06:49:33 +0200tdammers(~tdammers@110-136-178-143.ftth.glasoperator.nl) (Ping timeout: 276 seconds)
2025-06-23 06:51:13 +0200michalz(~michalz@185.246.207.201)
2025-06-23 06:57:54 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 06:59:07 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 07:03:29 +0200pavonia(~user@user/siracusa) siracusa
2025-06-23 07:10:25 +0200harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) HarveyPwca
2025-06-23 07:10:30 +0200michalz_(~michalz@185.246.207.203)
2025-06-23 07:12:11 +0200michalz(~michalz@185.246.207.201) (Ping timeout: 265 seconds)
2025-06-23 07:18:28 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 07:28:37 +0200trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 07:28:52 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 07:39:29 +0200prdak(~Thunderbi@user/prdak) (Quit: prdak)
2025-06-23 07:42:46 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-06-23 07:53:55 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-23 07:58:41 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-06-23 07:59:23 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 08:00:48 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 08:05:34 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 08:05:48 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 08:15:24 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 08:16:24 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 08:18:22 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 08:29:31 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 08:32:02 +0200Square(~Square@user/square) Square
2025-06-23 08:33:41 +0200ThePenguin(~ThePengui@cust-95-80-31-242.csbnet.se) (Remote host closed the connection)
2025-06-23 08:35:33 +0200ThePenguin(~ThePengui@cust-95-80-31-242.csbnet.se) ThePenguin
2025-06-23 08:39:10 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 08:41:20 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
2025-06-23 08:41:39 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) flukiluke
2025-06-23 08:45:34 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 08:47:09 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 252 seconds)
2025-06-23 08:47:17 +0200ft(~ft@p3e9bcab0.dip0.t-ipconnect.de) (Quit: leaving)
2025-06-23 08:48:05 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 08:49:58 +0200__monty__(~toonn@user/toonn) toonn
2025-06-23 08:51:53 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-06-23 08:52:41 +0200prdak(~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2025-06-23 08:54:35 +0200trickard_trickard
2025-06-23 08:57:13 +0200kenran(~void@user/kenran) kenran
2025-06-23 08:58:29 +0200ThePenguin(~ThePengui@cust-95-80-31-242.csbnet.se) (Remote host closed the connection)
2025-06-23 09:00:02 +0200caconym7(~caconym@user/caconym) (Quit: bye)
2025-06-23 09:00:16 +0200ThePenguin(~ThePengui@cust-95-80-31-242.csbnet.se) ThePenguin
2025-06-23 09:00:50 +0200caconym7(~caconym@user/caconym) caconym
2025-06-23 09:01:02 +0200kenran(~void@user/kenran) (Remote host closed the connection)
2025-06-23 09:01:09 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2025-06-23 09:02:32 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-06-23 09:02:52 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 265 seconds)
2025-06-23 09:02:53 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 09:03:27 +0200ThePenguin(~ThePengui@cust-95-80-31-242.csbnet.se) (Remote host closed the connection)
2025-06-23 09:04:59 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 245 seconds)
2025-06-23 09:05:51 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 09:06:41 +0200ThePenguin(~ThePengui@cust-95-80-31-242.csbnet.se) ThePenguin
2025-06-23 09:11:33 +0200tromp(~textual@2001:1c00:3487:1b00:3d67:6270:e25f:3cc5)
2025-06-23 09:18:46 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 09:21:20 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 09:21:20 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 09:21:20 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 09:21:55 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: Leaving)
2025-06-23 09:23:57 +0200acidjnk(~acidjnk@p200300d6e70b661750c15e2a18f5d35c.dip0.t-ipconnect.de) acidjnk
2025-06-23 09:24:13 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-23 09:24:32 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-23 09:26:50 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-06-23 09:32:36 +0200sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-06-23 09:36:35 +0200 <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
2025-06-23 09:38:12 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 09:41:28 +0200 <yin> magic_rb: would a type error do the trick?
2025-06-23 09:43:59 +0200 <tomsmeding> magic_rb: https://git.tomsmeding.com/chad-fast/tree/src/Simplify.hs#n461
2025-06-23 09:50:04 +0200 <haskellbridge> <magic_rb> Type error? Sure if it looks scary :P
2025-06-23 09:50:08 +0200 <haskellbridge> <magic_rb> And thanks tom :)
2025-06-23 09:50:31 +0200 <tomsmeding> I was convinced accelerate had some scary types but can't find any noe
2025-06-23 09:50:33 +0200 <tomsmeding> *now
2025-06-23 09:52:39 +0200 <tomsmeding> magic_rb: apparently this has been in accelerate at some point https://tomsmeding.com/vang/pPEUWn/Untitled.png
2025-06-23 09:53:31 +0200 <dutchie> https://hackage.haskell.org/package/servant-0.20.2/docs/src/Servant.Links.html#line-459
2025-06-23 09:53:42 +0200 <dutchie> if you don't mind an instance declaration rather than a function
2025-06-23 09:56:00 +0200 <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
2025-06-23 09:57:36 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-06-23 10:01:40 +0200hsw(~hsw@106.104.103.23) (Remote host closed the connection)
2025-06-23 10:01:58 +0200hsw(~hsw@106.104.103.23) hsw
2025-06-23 10:06:28 +0200 <dutchie> f -> String is a bit boring after all the constraints though
2025-06-23 10:06:52 +0200 <tomsmeding> it is
2025-06-23 10:25:26 +0200Digitteknohippie(~user@user/digit) Digit
2025-06-23 10:26:09 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 260 seconds)
2025-06-23 10:26:25 +0200Digit(~user@user/digit) (Ping timeout: 248 seconds)
2025-06-23 10:26:39 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 10:30:06 +0200dhil(~dhil@5.151.29.140) dhil
2025-06-23 10:30:19 +0200piele(~piele@eiseth.creativeserver.net) (Ping timeout: 252 seconds)
2025-06-23 10:31:07 +0200tromp(~textual@2001:1c00:3487:1b00:3d67:6270:e25f:3cc5) (Ping timeout: 276 seconds)
2025-06-23 10:31:55 +0200piele(~piele@eiseth.creativeserver.net)
2025-06-23 10:38:31 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 10:39:43 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 10:45:16 +0200trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 10:45:31 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 10:47:49 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-06-23 10:48:51 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2025-06-23 10:49:32 +0200chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2025-06-23 10:51:58 +0200prdak(~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2025-06-23 10:53:15 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 10:54:09 +0200Digitteknohippie(~user@user/digit) (Ping timeout: 248 seconds)
2025-06-23 10:55:27 +0200chele(~chele@user/chele) chele
2025-06-23 10:55:29 +0200ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2025-06-23 10:55:31 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 10:55:45 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 248 seconds)
2025-06-23 10:55:51 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-06-23 10:56:39 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 11:01:18 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 11:01:54 +0200ubert(~Thunderbi@2a02:8109:abb3:7000:1a90:299a:1ff:5c3d) ubert
2025-06-23 11:05:14 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-06-23 11:05:39 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 276 seconds)
2025-06-23 11:05:59 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 11:06:16 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 11:06:39 +0200manwithluck(~manwithlu@194.177.28.145) (Ping timeout: 245 seconds)
2025-06-23 11:07:24 +0200manwithluck(~manwithlu@194.177.28.145) manwithluck
2025-06-23 11:12:04 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 268 seconds)
2025-06-23 11:15:05 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2025-06-23 11:15:40 +0200hsw(~hsw@106.104.103.23) (Remote host closed the connection)
2025-06-23 11:15:49 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-06-23 11:15:59 +0200hsw(~hsw@106.104.103.23) hsw
2025-06-23 11:17:21 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 276 seconds)
2025-06-23 11:28:31 +0200Digit(~user@user/digit) Digit
2025-06-23 11:28:49 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 11:28:49 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 11:28:49 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 11:29:09 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 11:31:10 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-23 11:31:28 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-23 11:34:43 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-06-23 11:35:49 +0200prdak(~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2025-06-23 11:36:24 +0200trickard_trickard
2025-06-23 11:37:41 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-06-23 11:37:42 +0200Digitdigitteknohippie
2025-06-23 11:37:49 +0200digitteknohippiedigit
2025-06-23 11:45:43 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 11:51:10 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 11:54:09 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 252 seconds)
2025-06-23 11:58:19 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-06-23 12:03:16 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-06-23 12:06:02 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 276 seconds)
2025-06-23 12:06:16 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 12:21:05 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-06-23 12:28:44 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 245 seconds)
2025-06-23 12:28:51 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
2025-06-23 12:29:00 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-06-23 12:30:24 +0200Lord_of_Life_Lord_of_Life
2025-06-23 12:31:34 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds)
2025-06-23 12:32:51 +0200trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 12:33:05 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 12:33:27 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds)
2025-06-23 12:34:09 +0200talisc(~talisc@177.126.221.11)
2025-06-23 12:34:49 +0200talisc(~talisc@177.126.221.11) ()
2025-06-23 12:39:24 +0200talisc(~talisc@user/talisc) talisc
2025-06-23 12:44:02 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
2025-06-23 12:45:11 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-06-23 12:45:16 +0200 <[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)?
2025-06-23 12:45:36 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-06-23 12:45:48 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 12:46:30 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 244 seconds)
2025-06-23 12:47:20 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-23 12:47:26 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 12:47:34 +0200 <__monty__> Is this one of those elementary things that never got named successfully?
2025-06-23 12:47:41 +0200 <[exa]> likely
2025-06-23 12:48:57 +0200 <[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)
2025-06-23 12:50:10 +0200 <[exa]> whatevs, I'll mark them SW and CW like serialized writer and concurrent writer
2025-06-23 12:50:25 +0200 <[exa]> doubles nicely with "simple" and "complex"
2025-06-23 12:52:05 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-06-23 12:55:46 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 12:56:21 +0200 <Maxdamantus> [exa]: in Rust I think I've seen it called "mcsp", or maybe it was "spmc".
2025-06-23 12:56:28 +0200 <Maxdamantus> as opposed to "mpsc".
2025-06-23 12:57:42 +0200 <Maxdamantus> actually, maybe that doesn't exist. I kind of assumed it did, since there is "mpsc" in std.
2025-06-23 12:58:12 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-06-23 12:58:38 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 12:59:07 +0200 <Maxdamantus> I guess "mpmc" covers the use case, but that's more general than what you're asking for.
2025-06-23 12:59:28 +0200 <[exa]> what does 'p' and 'c' stand for there?
2025-06-23 12:59:34 +0200 <Maxdamantus> producer, consumer
2025-06-23 12:59:36 +0200 <[exa]> oh producer and consumer
2025-06-23 12:59:55 +0200 <Maxdamantus> multi-producer single-consumer, multi-producer multi-consumer
2025-06-23 13:00:02 +0200 <[exa]> but that's more like for communion channel kind of things, right?
2025-06-23 13:00:06 +0200 <[exa]> *communication
2025-06-23 13:00:47 +0200 <[exa]> anyway yeah I guess that's exactly what I wasn't able to recall
2025-06-23 13:00:56 +0200 <[exa]> doesn't fit totally but so far closest :D
2025-06-23 13:01:24 +0200 <Maxdamantus> Well, if you don't want a queue, I guess what you want is just a read-write lock.
2025-06-23 13:01:48 +0200jespada(~jespada@r179-25-124-186.dialup.adsl.anteldata.net.uy) jespada
2025-06-23 13:01:54 +0200 <Maxdamantus> (though again, a read-write lock is theoretically more general, since it allows multiple writers)
2025-06-23 13:01:55 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2025-06-23 13:02:19 +0200 <[exa]> it's for a store of inverted indices, kinda like lucene segments
2025-06-23 13:02:40 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2025-06-23 13:03:11 +0200 <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?
2025-06-23 13:03:12 +0200 <[exa]> so there's a whole lock hierarchy, the actual top is kinda compare-and-swapped very rarely by the writers
2025-06-23 13:03:19 +0200 <Maxdamantus> if it's the latter, then that's exactly what a read-write lock is.
2025-06-23 13:03:26 +0200 <[exa]> nah there's 2 ways to implement the data structure
2025-06-23 13:03:35 +0200 <[exa]> so I'm finding the proper labels to distinguish them :D
2025-06-23 13:04:13 +0200 <[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
2025-06-23 13:04:50 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-23 13:05:37 +0200 <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.
2025-06-23 13:06:07 +0200 <Maxdamantus> eg, DangerousReadWriteLock or something.
2025-06-23 13:06:09 +0200 <[exa]> but that's common to both structures
2025-06-23 13:07:24 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 13:07:27 +0200 <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?
2025-06-23 13:07:39 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 13:07:51 +0200 <Maxdamantus> and where the other is just a plain read-write lock, where the write lock part is essentially a mutex?
2025-06-23 13:12:20 +0200prdak(~Thunderbi@user/prdak) (Ping timeout: 244 seconds)
2025-06-23 13:16:39 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
2025-06-23 13:17:19 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 13:20:12 +0200 <[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
2025-06-23 13:20:13 +0200 <[exa]> (read: there's many lockpoints and some extra buffers for handling the possible write conflicts)
2025-06-23 13:21:40 +0200 <[exa]> (btw no mutexes, mutexes don't do availability well)
2025-06-23 13:22:48 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
2025-06-23 13:23:41 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 13:23:41 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 13:23:41 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 13:24:15 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 13:25:09 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 13:25:24 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 13:27:07 +0200 <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.
2025-06-23 13:28:25 +0200 <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.
2025-06-23 13:28:30 +0200xff0x(~xff0x@2405:6580:b080:900:55ec:c9f:e8b1:7eb5)
2025-06-23 13:28:30 +0200 <[exa]> yes but that's a completely impossible behavior here, writes must not cause locks
2025-06-23 13:28:45 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 13:29:32 +0200 <[exa]> (pls check out the lucene segmentation)
2025-06-23 13:31:01 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2025-06-23 13:31:31 +0200Lycurgus(~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org))
2025-06-23 13:36:05 +0200acidjnk(~acidjnk@p200300d6e70b661750c15e2a18f5d35c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-06-23 13:37:27 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 13:37:46 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 13:38:22 +0200fp1(~Thunderbi@2001:708:20:1406::10c5) fp
2025-06-23 13:41:16 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 265 seconds)
2025-06-23 13:44:39 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 13:52:53 +0200soverysour(~soverysou@84.232.150.229) soverysour
2025-06-23 13:52:54 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 13:52:54 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 14:00:23 +0200trickard_trickard
2025-06-23 14:01:59 +0200talisc(~talisc@user/talisc) (Excess Flood)
2025-06-23 14:03:41 +0200ystael(~ystael@user/ystael) ystael
2025-06-23 14:04:19 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 276 seconds)
2025-06-23 14:05:03 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
2025-06-23 14:07:59 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 14:07:59 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 14:07:59 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 14:08:49 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2025-06-23 14:10:37 +0200trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 14:10:50 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 14:14:16 +0200califax(~califax@user/califx) (Remote host closed the connection)
2025-06-23 14:15:35 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 260 seconds)
2025-06-23 14:15:58 +0200califax(~califax@user/califx) califx
2025-06-23 14:16:22 +0200acidjnk(~acidjnk@p200300d6e70b661750c15e2a18f5d35c.dip0.t-ipconnect.de) acidjnk
2025-06-23 14:17:41 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 14:17:41 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 14:17:41 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 14:20:37 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 14:25:32 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 14:27:48 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 276 seconds)
2025-06-23 14:30:07 +0200emfrom(~emfrom@2a0d:e487:411f:c6e:cf22:a6ad:c205:90d1)
2025-06-23 14:31:03 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 276 seconds)
2025-06-23 14:31:57 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 14:31:57 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 14:31:57 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 14:33:00 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
2025-06-23 14:34:50 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
2025-06-23 14:35:05 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 14:37:08 +0200trickard_trickard
2025-06-23 14:37:34 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 260 seconds)
2025-06-23 14:38:59 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 14:43:20 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-06-23 14:43:55 +0200hseg(~gesh@46.120.20.122)
2025-06-23 14:43:59 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-06-23 14:51:13 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 14:51:14 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 14:51:14 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 14:53:20 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 14:56:20 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 15:01:37 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 248 seconds)
2025-06-23 15:02:44 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-06-23 15:05:27 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
2025-06-23 15:05:50 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 15:13:36 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
2025-06-23 15:13:57 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 15:19:09 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
2025-06-23 15:26:36 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 15:26:36 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 15:26:36 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 15:26:45 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 248 seconds)
2025-06-23 15:27:33 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 15:31:49 +0200prdak(~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2025-06-23 15:32:09 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 276 seconds)
2025-06-23 15:44:01 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 15:44:01 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 15:44:01 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 15:49:19 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 260 seconds)
2025-06-23 15:55:25 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
2025-06-23 15:55:43 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 16:00:35 +0200prdak(~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2025-06-23 16:02:02 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 16:06:50 +0200prdak(~Thunderbi@user/prdak) (Ping timeout: 268 seconds)
2025-06-23 16:20:12 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 272 seconds)
2025-06-23 16:22:56 +0200merijn(~merijn@77.242.116.146) merijn
2025-06-23 16:32:06 +0200dhil(~dhil@5.151.29.140) (Ping timeout: 268 seconds)
2025-06-23 16:32:19 +0200Pixi`(~Pixi@user/pixi) (Quit: Leaving)
2025-06-23 16:36:11 +0200Everything(~Everythin@77.120.244.38) (Quit: leaving)
2025-06-23 16:36:28 +0200soverysour(~soverysou@84.232.150.229)
2025-06-23 16:36:28 +0200soverysour(~soverysou@84.232.150.229) (Changing host)
2025-06-23 16:36:28 +0200soverysour(~soverysou@user/soverysour) soverysour
2025-06-23 16:37:38 +0200mange(~mange@user/mange) (Quit: Zzz...)
2025-06-23 16:42:21 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 276 seconds)
2025-06-23 16:47:55 +0200Discordian93(~Discordia@user/Discordian93) Discordian93
2025-06-23 16:54:31 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
2025-06-23 16:56:00 +0200Pixi(~Pixi@user/pixi) Pixi
2025-06-23 17:02:40 +0200todi(~todi@p57803331.dip0.t-ipconnect.de) todi
2025-06-23 17:06:24 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 276 seconds)
2025-06-23 17:06:39 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 17:09:19 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 17:17:58 +0200yangby(~secret@60.176.176.179) yangby
2025-06-23 17:18:22 +0200ubert(~Thunderbi@2a02:8109:abb3:7000:1a90:299a:1ff:5c3d) (Remote host closed the connection)
2025-06-23 17:18:27 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
2025-06-23 17:18:49 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 17:21:25 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) (Ping timeout: 248 seconds)
2025-06-23 17:21:38 +0200fp1(~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 272 seconds)
2025-06-23 17:22:00 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 276 seconds)
2025-06-23 17:22:23 +0200tmciver(~tim@syn-198-255-177-240.res.spectrum.com) tmciver
2025-06-23 17:39:39 +0200dhil(~dhil@5.151.29.139) dhil
2025-06-23 17:47:18 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2025-06-23 17:54:30 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-06-23 17:56:14 +0200trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-23 17:56:28 +0200trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2025-06-23 18:04:54 +0200yangby(~secret@60.176.176.179) (Quit: Go out for a walk and buy a drink.)
2025-06-23 18:05:01 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
2025-06-23 18:05:49 +0200yangby(~secret@60.176.176.179) yangby
2025-06-23 18:08:18 +0200yangby(~secret@60.176.176.179) (Client Quit)
2025-06-23 18:09:27 +0200yangby(~secret@60.176.176.179) yangby
2025-06-23 18:14:40 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-06-23 18:16:19 +0200mreh(~matthew@host86-146-25-68.range86-146.btcentralplus.com) mreh
2025-06-23 18:16:59 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2025-06-23 18:18:09 +0200 <mreh> I'm doing some emulation, and need to cast a Word8 (raw memory) to an Int8. Is it safe to unsafeCoerce?
2025-06-23 18:18:50 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2025-06-23 18:19:22 +0200 <haskellbridge> <magic_rb> Use coerce, if its works, its safe
2025-06-23 18:19:43 +0200 <mreh> I knew I'd get chewed out for writing that
2025-06-23 18:19:52 +0200 <EvanR> it doesn't work
2025-06-23 18:19:53 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-06-23 18:19:57 +0200 <haskellbridge> <magic_rb> Ghc will magically derive the Coercible instance if the runtime rep is the same, i think
2025-06-23 18:20:00 +0200 <haskellbridge> <magic_rb> Nevermind
2025-06-23 18:20:02 +0200 <haskellbridge> <magic_rb> Lol
2025-06-23 18:20:10 +0200 <EvanR> Couldn't match representation of type ‘Int8’ with that of ‘Word8’
2025-06-23 18:20:20 +0200 <haskellbridge> <magic_rb> But i think unsafeCoerce should be ok?
2025-06-23 18:20:26 +0200 <EvanR> maybe
2025-06-23 18:21:47 +0200mreh(~matthew@host86-146-25-68.range86-146.btcentralplus.com) (Read error: Connection reset by peer)
2025-06-23 18:22:49 +0200mreh(~matthew@host86-146-25-68.range86-146.btcentralplus.com)
2025-06-23 18:22:50 +0200 <EvanR> they left but I would look for a primitive conversion
2025-06-23 18:23:19 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-06-23 18:23:30 +0200 <tomsmeding> mreh: why not fromIntegral?
2025-06-23 18:23:32 +0200 <EvanR> if it doesn't already exist use it to write a normal function which munges the newtype wrappers and does the conversion
2025-06-23 18:23:36 +0200 <EvanR> or that
2025-06-23 18:23:49 +0200 <mreh> sorry, crashed
2025-06-23 18:23:53 +0200mrehchecks logs
2025-06-23 18:23:56 +0200 <tomsmeding> > map fromIntegral [0 :: Word8, 100, 200, 255]
2025-06-23 18:23:57 +0200 <lambdabot> [0,100,200,255]
2025-06-23 18:24:02 +0200 <tomsmeding> > map fromIntegral [0 :: Word8, 100, 200, 255] :: [Int8]
2025-06-23 18:24:04 +0200 <lambdabot> [0,100,-56,-1]
2025-06-23 18:24:16 +0200 <haskellbridge> <magic_rb> tomsmeding does it optimize properly?
2025-06-23 18:24:22 +0200 <haskellbridge> <magic_rb> It should compile to a noop
2025-06-23 18:24:30 +0200 <tomsmeding> there are tons of rewrite rules for fromIntegral, let me check
2025-06-23 18:24:42 +0200 <mreh> that was not how I expect fromIntegral to work
2025-06-23 18:25:22 +0200 <EvanR> also a C style cast from Word8 to Int8 isn't the same as unsafeCoerce
2025-06-23 18:25:30 +0200 <EvanR> it's more like the above
2025-06-23 18:25:43 +0200 <tomsmeding> mreh: how did you expect it to work?
2025-06-23 18:25:54 +0200 <mreh> tomsmeding: good point
2025-06-23 18:27:07 +0200 <mreh> it's only a gameboy interpreter, no need to blazingly fast optimizations
2025-06-23 18:27:29 +0200 <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
2025-06-23 18:27:38 +0200 <tomsmeding> magic_rb: https://play.haskell.org/saved/5AlmTIJY
2025-06-23 18:27:53 +0200 <tomsmeding> the 2* and +1 added to see where the actual user code is
2025-06-23 18:28:05 +0200 <tomsmeding> in Core you can see that fromIntegral becomes GHC.Prim.word8ToInt8#
2025-06-23 18:28:22 +0200 <tomsmeding> when you click Asm, you see that it becomes two adjacent assembly instructions, addb and shlb
2025-06-23 18:28:42 +0200 <tomsmeding> plenty of administration around it but that looks unrelated to the integer conversion
2025-06-23 18:29:07 +0200 <EvanR> that the answer to this question ended up amounting to doing a conversion is great
2025-06-23 18:29:11 +0200 <EvanR> because unsafeCoerce doesn't
2025-06-23 18:29:16 +0200 <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
2025-06-23 18:29:47 +0200 <tomsmeding> even better would have been static restrictions like https://hackage.haskell.org/package/int-cast does
2025-06-23 18:29:51 +0200prdak(~Thunderbi@user/prdak) prdak
2025-06-23 18:31:15 +0200Discordian93(~Discordia@user/Discordian93) (Quit: Leaving.)
2025-06-23 18:31:21 +0200 <mreh> I wasn't expecting the answer to be fromIntegral, but there you go
2025-06-23 18:31:25 +0200 <tomsmeding> magic_rb: unsafeCoerce is actually _slower_ in this case because unsafeCoerce works on lifted values
2025-06-23 18:31:29 +0200 <tomsmeding> https://play.haskell.org/saved/jR3HVPQ5
2025-06-23 18:32:07 +0200 <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#
2025-06-23 18:32:22 +0200 <tomsmeding> because GHC receives from unsafeCoerce an equality of Int8 and Word8, not of Int8# and Word8#
2025-06-23 18:32:52 +0200 <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)
2025-06-23 18:33:09 +0200 <haskellbridge> <magic_rb> Right so unsafeCoerce breaks the unboxed arithmetic magic, interesting