2022/10/19

2022-10-19 00:04:36 +0000freeside(~mengwong@103.252.202.193) (Ping timeout: 268 seconds)
2022-10-19 00:05:46 +0000ezzieygu1wuf(~Unknown@user/ezzieyguywuf)
2022-10-19 00:09:59 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-10-19 00:10:59 +0000ezzieygu1wuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2022-10-19 00:15:03 +0000ezzieygu1wuf(~Unknown@user/ezzieyguywuf)
2022-10-19 00:17:00 +0000freeside(~mengwong@103.252.202.193)
2022-10-19 00:17:31 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-19 00:21:23 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 00:23:36 +0000mmhat(~mmh@p200300f1c7337736ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7)
2022-10-19 00:24:23 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2022-10-19 00:29:34 +0000inversed(~inversed@90.209.137.56) (Read error: No route to host)
2022-10-19 00:30:13 +0000TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Quit: Leaving)
2022-10-19 00:33:35 +0000wonko(~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 268 seconds)
2022-10-19 00:33:52 +0000inversed(~inversed@90.209.137.56)
2022-10-19 00:39:44 +0000ezzieygu1wuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2022-10-19 00:52:16 +0000freeside_(~mengwong@103.252.202.193)
2022-10-19 00:54:27 +0000mesaoptimizer(apotheosis@user/PapuaHardyNet) (Ping timeout: 248 seconds)
2022-10-19 00:54:27 +0000madnight(~madnight@static.59.103.201.195.clients.your-server.de) (Ping timeout: 248 seconds)
2022-10-19 00:54:49 +0000madnight(~madnight@static.59.103.201.195.clients.your-server.de)
2022-10-19 00:54:59 +0000freeside(~mengwong@103.252.202.193) (Ping timeout: 248 seconds)
2022-10-19 00:54:59 +0000kmein(~weechat@user/kmein) (Ping timeout: 248 seconds)
2022-10-19 00:54:59 +0000bcoppens(~bartcopp@vpn2.bartcoppens.be) (Ping timeout: 248 seconds)
2022-10-19 00:55:03 +0000gabiruh_(~gabiruh@vps19177.publiccloud.com.br)
2022-10-19 00:55:06 +0000bcoppens(~bartcopp@vpn2.bartcoppens.be)
2022-10-19 00:55:31 +0000gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 248 seconds)
2022-10-19 00:57:23 +0000kmein(~weechat@user/kmein)
2022-10-19 00:58:13 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2022-10-19 00:59:49 +0000wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-10-19 00:59:49 +0000wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-10-19 00:59:49 +0000wroathe(~wroathe@user/wroathe)
2022-10-19 00:59:52 +0000wroathe_(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-10-19 01:01:59 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-10-19 01:03:01 +0000mikoto-chan(~mikoto-ch@dsl-hkibng32-50dcba-150.dhcp.inet.fi) (Ping timeout: 260 seconds)
2022-10-19 01:03:22 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 01:10:18 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-10-19 01:11:31 +0000TonyStone(~TonyStone@74.76.51.197)
2022-10-19 01:14:21 +0000Lumia(~Lumia@c-24-34-172-110.hsd1.ma.comcast.net)
2022-10-19 01:16:25 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-10-19 01:20:08 +0000nate1(~nate@98.45.169.16)
2022-10-19 01:20:29 +0000Lumia(~Lumia@c-24-34-172-110.hsd1.ma.comcast.net) (Changing host)
2022-10-19 01:20:29 +0000Lumia(~Lumia@user/Lumia)
2022-10-19 01:21:39 +0000raym(~aritra@user/raym) (Ping timeout: 248 seconds)
2022-10-19 01:23:51 +0000Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-10-19 01:24:01 +0000freeside_(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-10-19 01:24:59 +0000nate1(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-10-19 01:27:06 +0000freeside(~mengwong@103.252.202.193)
2022-10-19 01:27:25 +0000raym(~aritra@user/raym)
2022-10-19 01:30:34 +0000libertyprime(~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz)
2022-10-19 01:31:36 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
2022-10-19 01:35:02 +0000inversed(~inversed@90.209.137.56) (Read error: Connection reset by peer)
2022-10-19 01:35:31 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:253c:9364:4f2a:ce74)
2022-10-19 01:37:55 +0000inversed(~inversed@90.209.137.56)
2022-10-19 01:38:16 +0000xff0x(~xff0x@2405:6580:b080:900:1291:8fa4:a381:47f3) (Ping timeout: 246 seconds)
2022-10-19 01:38:20 +0000libertyprime(~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Quit: leaving)
2022-10-19 01:39:47 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:253c:9364:4f2a:ce74) (Ping timeout: 248 seconds)
2022-10-19 01:44:27 +0000razetime(~quassel@117.193.6.127)
2022-10-19 01:45:43 +0000jargon(~jargon@184.101.208.112)
2022-10-19 01:47:12 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 264 seconds)
2022-10-19 01:54:00 +0000Lumia(~Lumia@user/Lumia) (Quit: ,-)
2022-10-19 02:02:12 +0000grymzu(~zymurgy@user/zymurgy) (Ping timeout: 264 seconds)
2022-10-19 02:04:18 +0000grymzu(~zymurgy@user/zymurgy)
2022-10-19 02:17:25 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 252 seconds)
2022-10-19 02:18:25 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-19 02:19:15 +0000td_(~td@83.135.9.44) (Ping timeout: 248 seconds)
2022-10-19 02:21:03 +0000td_(~td@83.135.9.59)
2022-10-19 02:23:49 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-10-19 02:25:55 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-10-19 02:31:55 +0000yuzhao(~yuzhao@36.112.45.77)
2022-10-19 02:32:05 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 02:32:35 +0000freeside(~mengwong@103.252.202.193) (Ping timeout: 248 seconds)
2022-10-19 02:32:47 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds)
2022-10-19 02:33:02 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-19 02:33:53 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:253c:9364:4f2a:ce74)
2022-10-19 02:37:31 +0000yuzhao(~yuzhao@36.112.45.77) (Ping timeout: 260 seconds)
2022-10-19 02:40:37 +0000vglfr(~vglfr@145.224.100.100) (Ping timeout: 268 seconds)
2022-10-19 02:40:58 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 02:49:21 +0000ezzieygu1wuf(~Unknown@user/ezzieyguywuf)
2022-10-19 02:59:31 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-10-19 03:00:24 +0000freeside(~mengwong@103.252.202.193)
2022-10-19 03:01:25 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 252 seconds)
2022-10-19 03:05:01 +0000nate1(~nate@98.45.169.16)
2022-10-19 03:07:51 +0000vglfr(~vglfr@145.224.100.100) (Ping timeout: 260 seconds)
2022-10-19 03:08:03 +0000LukeHoersten(~LukeHoers@user/lukehoersten)
2022-10-19 03:11:49 +0000jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2022-10-19 03:12:20 +0000zmt00(~zmt00@user/zmt00) (Read error: Connection reset by peer)
2022-10-19 03:13:18 +0000zmt00(~zmt00@user/zmt00)
2022-10-19 03:16:16 +0000jero98772(~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Remote host closed the connection)
2022-10-19 03:19:59 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 03:22:13 +0000LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-19 03:23:40 +0000wroathe_(~wroathe@206-55-188-8.fttp.usinternet.com) (Ping timeout: 268 seconds)
2022-10-19 03:23:40 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-10-19 03:26:57 +0000yuzhao(~yuzhao@36.112.45.77)
2022-10-19 03:27:49 +0000nate1(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-10-19 03:32:13 +0000yuzhao(~yuzhao@36.112.45.77) (Ping timeout: 252 seconds)
2022-10-19 03:32:54 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 03:39:39 +0000Lumia(~Lumia@user/Lumia)
2022-10-19 03:39:40 +0000Vajb(~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer)
2022-10-19 03:40:12 +0000Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2022-10-19 03:46:19 +0000ksu(~ksu@user/prtr) (Ping timeout: 250 seconds)
2022-10-19 03:48:06 +0000ircbrowse_tom(~ircbrowse@2a01:4f8:1c1c:9319::1) (ZNC 1.8.2+deb2build5 - https://znc.in)
2022-10-19 03:49:38 +0000ircbrowse_tom(~ircbrowse@2a01:4f8:1c1c:9319::1)
2022-10-19 03:49:39 +0000Server+Cnt
2022-10-19 03:49:47 +0000haskl(~haskl@user/haskl)
2022-10-19 03:49:48 +0000Unode(~Unode@194.94.44.220)
2022-10-19 03:49:48 +0000FurudeRika[m](~chitandae@2001:470:69fc:105::1:6039)
2022-10-19 03:49:49 +0000stefan-_(~cri@42dots.de)
2022-10-19 03:49:52 +0000m5zs7k(aquares@web10.mydevil.net)
2022-10-19 03:49:58 +0000fjmorazan(~quassel@user/fjmorazan)
2022-10-19 03:50:01 +0000taeaad(~taeaad@user/taeaad)
2022-10-19 03:50:58 +0000Maja(~quassel@178-37-215-128.adsl.inetia.pl)
2022-10-19 03:51:22 +0000maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2022-10-19 03:51:30 +0000smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2022-10-19 03:51:33 +0000srk(~sorki@user/srk)
2022-10-19 03:51:34 +0000BB[m](~cashmagem@2001:470:69fc:105::f6dc)
2022-10-19 03:51:53 +0000sektor[m](~sektor@2001:470:69fc:105::2:3f60)
2022-10-19 03:53:01 +0000ksu(~ksu@user/prtr)
2022-10-19 03:53:07 +0000thaumavorio(~thaumavor@thaumavor.io)
2022-10-19 03:53:09 +0000expipiplus1(~expipiplu@2001:470:69fc:105::d713)
2022-10-19 03:53:13 +0000CeNiEi[m](~cenieimat@2001:470:69fc:105::1:894c)
2022-10-19 03:53:28 +0000koolazer(~koo@user/koolazer)
2022-10-19 03:53:29 +0000Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
2022-10-19 03:53:34 +0000rockymarine[m](~rockymari@2001:470:69fc:105::2:9a0c)
2022-10-19 03:53:37 +0000xstill_(xstill@fimu/xstill)
2022-10-19 03:54:05 +0000cafkafk[m](~cafkafkma@2001:470:69fc:105::1:cea8)
2022-10-19 03:54:24 +0000jargon(~jargon@184.101.208.112) (Remote host closed the connection)
2022-10-19 03:54:59 +0000nate1(~nate@98.45.169.16)
2022-10-19 03:55:06 +0000freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-10-19 03:55:41 +0000razetime(~quassel@117.193.6.127) (Ping timeout: 260 seconds)
2022-10-19 03:56:51 +0000Inoperable(~PLAYER_1@fancydata.science)
2022-10-19 03:57:43 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2022-10-19 03:59:19 +0000MangoIV[m](~mangoivma@2001:470:69fc:105::2:8417)
2022-10-19 03:59:37 +0000kenran(~user@user/kenran)
2022-10-19 04:01:10 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-10-19 04:04:19 +0000nate1(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2022-10-19 04:05:36 +0000jrm(~jrm@user/jrm) (Ping timeout: 260 seconds)
2022-10-19 04:10:36 +0000mbuf(~Shakthi@49.204.129.148)
2022-10-19 04:11:26 +0000bgamari_(~bgamari@64.223.236.29) (Ping timeout: 260 seconds)
2022-10-19 04:13:13 +0000freeside(~mengwong@103.252.202.193)
2022-10-19 04:13:20 +0000Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-10-19 04:13:42 +0000Vajb(~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57)
2022-10-19 04:16:02 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-10-19 04:16:45 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2022-10-19 04:17:44 +0000bgamari(~bgamari@64.223.227.132)
2022-10-19 04:22:32 +0000jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-10-19 04:24:45 +0000jonathanx_(~jonathan@178.174.176.109)
2022-10-19 04:27:11 +0000jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 268 seconds)
2022-10-19 04:29:29 +0000vglfr(~vglfr@145.224.100.100) (Read error: Connection reset by peer)
2022-10-19 04:29:39 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 04:31:22 +0000Lumia(~Lumia@user/Lumia) (Remote host closed the connection)
2022-10-19 04:31:24 +0000kenran(~user@user/kenran) (Remote host closed the connection)
2022-10-19 04:31:47 +0000Lumia(~Lumia@user/Lumia)
2022-10-19 04:34:37 +0000nate1(~nate@98.45.169.16)
2022-10-19 04:36:04 +0000mixfix41(~sdenynine@user/mixfix41)
2022-10-19 04:37:39 +0000razetime(~quassel@117.193.6.127)
2022-10-19 04:38:25 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-19 04:39:13 +0000nate1(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2022-10-19 04:46:04 +0000jrm(~jrm@user/jrm)
2022-10-19 04:52:53 +0000Luj3(~Luj@2a01:e0a:5f9:9681:8b6a:8ece:3740:1a44)
2022-10-19 05:00:05 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2022-10-19 05:07:18 +0000frase(~Fraser@159.196.13.21) (Ping timeout: 264 seconds)
2022-10-19 05:07:36 +0000mbuf(~Shakthi@49.204.129.148) (Ping timeout: 264 seconds)
2022-10-19 05:07:49 +0000mbuf(~Shakthi@49.204.132.253)
2022-10-19 05:08:52 +0000frase(~Fraser@159.196.13.21)
2022-10-19 05:09:40 +0000Lumia(~Lumia@user/Lumia) (Ping timeout: 246 seconds)
2022-10-19 05:10:21 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 260 seconds)
2022-10-19 05:16:21 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 252 seconds)
2022-10-19 05:21:33 +0000jmorris(uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-19 05:22:40 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 05:27:31 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 246 seconds)
2022-10-19 05:33:57 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 05:48:16 +0000raym(~aritra@user/raym) (Ping timeout: 260 seconds)
2022-10-19 05:48:30 +0000raym(~aritra@user/raym)
2022-10-19 05:51:47 +0000freeside(~mengwong@103.252.202.193) (Ping timeout: 268 seconds)
2022-10-19 05:54:06 +0000raym(~aritra@user/raym) (Ping timeout: 264 seconds)
2022-10-19 05:55:25 +0000kenran(~user@user/kenran)
2022-10-19 05:56:58 +0000yuzhao(~yuzhao@36.112.45.77)
2022-10-19 05:59:49 +0000raym(~aritra@user/raym)
2022-10-19 06:01:07 +0000yuzhao(~yuzhao@36.112.45.77) (Ping timeout: 246 seconds)
2022-10-19 06:05:19 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 246 seconds)
2022-10-19 06:08:46 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-10-19 06:12:00 +0000yuzhao(~yuzhao@36.112.45.77)
2022-10-19 06:13:46 +0000chomwitt(~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
2022-10-19 06:15:31 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-10-19 06:18:25 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 06:20:22 +0000yuzhao(~yuzhao@36.112.45.77) (Ping timeout: 246 seconds)
2022-10-19 06:20:56 +0000FragByte(~christian@user/fragbyte) (Ping timeout: 260 seconds)
2022-10-19 06:20:57 +0000vglfr(~vglfr@145.224.100.100) (Read error: Connection reset by peer)
2022-10-19 06:21:04 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 06:21:27 +0000FragByte(~christian@user/fragbyte)
2022-10-19 06:26:02 +0000mesaoptimizer(apotheosis@user/PapuaHardyNet)
2022-10-19 06:26:35 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-10-19 06:28:26 +0000caryhartline(~caryhartl@2600:1700:2d0:8d30:5cd5:afa2:55e9:2fce) (Quit: caryhartline)
2022-10-19 06:31:50 +0000asm(~alexander@burner.asm89.io) (Changing host)
2022-10-19 06:31:50 +0000asm(~alexander@user/asm)
2022-10-19 06:34:33 +0000shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-10-19 06:35:20 +0000axeman(~quassel@2a02:8109:a380:78:7a17:29e5:d092:ea5d)
2022-10-19 06:38:48 +0000vn36_(~vn36@123.63.203.210)
2022-10-19 06:41:44 +0000axeman(~quassel@2a02:8109:a380:78:7a17:29e5:d092:ea5d) (Ping timeout: 268 seconds)
2022-10-19 06:43:49 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:6f7e:524f:cc40:2955)
2022-10-19 06:45:57 +0000mmhat(~mmh@p200300f1c7337736ee086bfffe095315.dip0.t-ipconnect.de)
2022-10-19 06:47:38 +0000jakalx(~jakalx@base.jakalx.net) ()
2022-10-19 06:51:32 +0000chomwitt(~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
2022-10-19 06:51:57 +0000chomwitt(~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
2022-10-19 06:54:11 +0000jakalx(~jakalx@base.jakalx.net)
2022-10-19 06:57:33 +0000axeman(~quassel@2a02:8109:a380:78:bc4:6f73:24d5:f1f3)
2022-10-19 06:57:34 +0000kenran`(~user@user/kenran)
2022-10-19 06:59:48 +0000kenran(~user@user/kenran) (Ping timeout: 264 seconds)
2022-10-19 07:02:27 +0000cfricke(~cfricke@user/cfricke)
2022-10-19 07:03:12 +0000axeman(~quassel@2a02:8109:a380:78:bc4:6f73:24d5:f1f3) (Ping timeout: 268 seconds)
2022-10-19 07:07:00 +0000mbuf(~Shakthi@49.204.132.253) (Ping timeout: 264 seconds)
2022-10-19 07:07:18 +0000mbuf(~Shakthi@49.204.139.143)
2022-10-19 07:10:53 +0000hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8)
2022-10-19 07:11:56 +0000acidjnk(~acidjnk@p200300d6e7137a08b4dee3a6debde38e.dip0.t-ipconnect.de)
2022-10-19 07:20:48 +0000thegeekinside(~thegeekin@189.180.97.156) (Ping timeout: 264 seconds)
2022-10-19 07:21:19 +0000CiaoSen(~Jura@p200300c9570723002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-10-19 07:22:41 +0000hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2022-10-19 07:34:13 +0000vglfr(~vglfr@145.224.100.100) (Read error: Connection reset by peer)
2022-10-19 07:35:01 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 07:36:27 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 07:37:55 +0000gmg(~user@user/gehmehgeh)
2022-10-19 07:42:24 +0000Midjak(~Midjak@82.66.147.146)
2022-10-19 07:49:36 +0000vn36_(~vn36@123.63.203.210) (Ping timeout: 260 seconds)
2022-10-19 07:54:47 +0000fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2022-10-19 07:56:23 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-10-19 08:01:08 +0000nate1(~nate@98.45.169.16)
2022-10-19 08:06:13 +0000nate1(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-10-19 08:06:46 +0000freeside(~mengwong@151.192.73.74)
2022-10-19 08:09:02 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
2022-10-19 08:09:14 +0000aliosablack(~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
2022-10-19 08:09:53 +0000chomwitt(~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Read error: Connection reset by peer)
2022-10-19 08:10:24 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2022-10-19 08:11:43 +0000MajorBiscuit(~MajorBisc@145.94.160.95)
2022-10-19 08:16:36 +0000vn36__(~vn36@123.63.203.210)
2022-10-19 08:19:11 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:253c:9364:4f2a:ce74) (Remote host closed the connection)
2022-10-19 08:21:38 +0000yvan-sraka(~yvan-srak@ip-185-104-137-32.ptr.icomera.net)
2022-10-19 08:30:26 +0000vn36__(~vn36@123.63.203.210) (Ping timeout: 260 seconds)
2022-10-19 08:31:50 +0000mastarija(~mastarija@2a05:4f46:e03:6000:450:24db:a030:2d0b)
2022-10-19 08:32:42 +0000 <mastarija> Are there any situations where GHC can't determine if the pattern matching is exhaustive?
2022-10-19 08:35:12 +0000vglfr(~vglfr@145.224.100.100) (Read error: Connection reset by peer)
2022-10-19 08:35:40 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 08:35:49 +0000freeside(~mengwong@151.192.73.74) (Ping timeout: 268 seconds)
2022-10-19 08:36:14 +0000yvan-sraka(~yvan-srak@ip-185-104-137-32.ptr.icomera.net) (Remote host closed the connection)
2022-10-19 08:40:48 +0000 <[exa]> mastarija: if you mix in pattern guards stuff gets pretty complex/undecidable. For simple streamlined single-argument patterns the check should be pretty easy (you literally just check the data constructor coverage)
2022-10-19 08:42:28 +0000L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 246 seconds)
2022-10-19 08:44:15 +0000loras(~loras@c-73-139-125-125.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
2022-10-19 08:44:30 +0000yvan-sraka(~yvan-srak@ip-185-104-137-32.ptr.icomera.net)
2022-10-19 08:46:16 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 08:46:41 +0000off^(~off@c-76-17-6-165.hsd1.ga.comcast.net) (Remote host closed the connection)
2022-10-19 08:50:04 +0000 <mastarija> Thanks!
2022-10-19 08:54:56 +0000cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7)
2022-10-19 08:57:19 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-19 08:58:01 +0000vglfr(~vglfr@145.224.100.100) (Remote host closed the connection)
2022-10-19 08:58:37 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 09:03:17 +0000vglfr(~vglfr@145.224.100.100) (Remote host closed the connection)
2022-10-19 09:05:23 +0000 <[exa]> mastarija: btw there are some papers around that concern compiling the pattern matches that involve multiple arguments, which is IIRC sometimes pretty hard to optimize. such as this https://dl.acm.org/doi/abs/10.1145/1411304.1411311
2022-10-19 09:05:45 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-10-19 09:05:55 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 246 seconds)
2022-10-19 09:06:35 +0000 <mastarija> mastarija: likes the paper
2022-10-19 09:06:54 +0000 <mastarija> mastarija, test?
2022-10-19 09:06:55 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 09:10:11 +0000 <lortabac> there is also the question of GADTs, for which simple constructor coverage is not enough
2022-10-19 09:11:14 +0000freeside(~mengwong@103.252.202.193)
2022-10-19 09:12:49 +0000aliosablack(~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Quit: Leaving)
2022-10-19 09:13:09 +0000chomwitt(~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1)
2022-10-19 09:16:16 +0000freeside_(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-19 09:17:12 +0000freeside(~mengwong@103.252.202.193) (Ping timeout: 264 seconds)
2022-10-19 09:17:12 +0000yvan-sraka(~yvan-srak@ip-185-104-137-32.ptr.icomera.net) (Remote host closed the connection)
2022-10-19 09:17:52 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 09:19:40 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
2022-10-19 09:20:21 +0000vglfr(~vglfr@145.224.100.100) (Remote host closed the connection)
2022-10-19 09:22:36 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 09:22:58 +0000inversed(~inversed@90.209.137.56) (Quit: Connection error?!)
2022-10-19 09:24:49 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 246 seconds)
2022-10-19 09:26:39 +0000vglfr(~vglfr@145.224.100.100) (Remote host closed the connection)
2022-10-19 09:26:45 +0000inversed(~inversed@90.209.137.56)
2022-10-19 09:27:33 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 09:27:49 +0000ft(~ft@62.155.200.69) (Quit: leaving)
2022-10-19 09:35:23 +0000wonko(~wjc@2a0e:1c80:2:0:45:15:19:130)
2022-10-19 09:37:04 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 246 seconds)
2022-10-19 09:37:12 +0000finsternis(~X@23.226.237.192) (Read error: Connection reset by peer)
2022-10-19 09:39:16 +0000MajorBiscuit(~MajorBisc@145.94.160.95) (Ping timeout: 260 seconds)
2022-10-19 09:39:40 +0000vglfr(~vglfr@145.224.100.100) (Remote host closed the connection)
2022-10-19 09:40:26 +0000__monty__(~toonn@user/toonn)
2022-10-19 09:41:12 +0000 <merijn> mastarija: "Are tehre any situations?" -> yes
2022-10-19 09:41:39 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 09:41:55 +0000 <merijn> The number of situations is shrinking, but in general you can probably always construct some niche case that can't be detected
2022-10-19 09:42:05 +0000 <merijn> At least if you include extensions
2022-10-19 09:42:27 +0000frase(~Fraser@159.196.13.21) ()
2022-10-19 09:43:02 +0000 <mastarija> Yes, but some of those would be "bugs". I'm more interested in things that aren't bugs but aren't possible to be checked for exhaustiveness.
2022-10-19 09:43:33 +0000 <merijn> Once you introduce GADTs and type families there's lots of cases where it isn't solvable, I think
2022-10-19 09:43:53 +0000 <mastarija> lortabac, any simple example of that?
2022-10-19 09:44:52 +0000Flow(~none@gentoo/developer/flow)
2022-10-19 09:48:08 +0000razetime(~quassel@117.193.6.127) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-10-19 09:48:14 +0000beteigeuze(~Thunderbi@89.187.168.55)
2022-10-19 09:48:49 +0000 <lortabac> mastarija: this pattern-matching is exhaustive even though it doesn't handle all the constructors https://paste.tomsmeding.com/BQ1Qb5p2
2022-10-19 09:49:41 +0000 <lortabac> if you try to add a case for 'Foo' you will get a warning
2022-10-19 09:49:54 +0000 <mastarija> But will Haskell yell at me? If not I'd say it correctly detects patternmatching.
2022-10-19 09:50:14 +0000 <mastarija> *exhaustiveness
2022-10-19 09:50:27 +0000Midjak(~Midjak@82.66.147.146) (Quit: Leaving)
2022-10-19 09:51:02 +0000 <lortabac> now this was a simple case, but there are more complex cases which GHC can't solve
2022-10-19 09:51:04 +0000 <mastarija> This makes sense to me. Foo shouldn't be possible.
2022-10-19 09:51:38 +0000Midjak(~Midjak@82.66.147.146)
2022-10-19 09:52:45 +0000 <merijn> mastarija: Hold on, there are two possible takes of your question
2022-10-19 09:52:57 +0000 <lortabac> I have one example with 'Fin' where GHC gives me an incorrect warning, unfortunately I don't think I'm able to paste the entire example right now
2022-10-19 09:53:14 +0000 <merijn> mastarija: There is "can GHC always tell me if a pattern match is exhaustive?" and "GHC will always tell me if a pattern match is potentially not exhaustive"
2022-10-19 09:53:17 +0000econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-10-19 09:53:24 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 09:53:27 +0000 <merijn> mastarija: The former is almost certainly not true, the latter should be true
2022-10-19 09:53:57 +0000 <merijn> mastarija: i.e. there are only false negatives (exhaustive matches reported as non-exhaustive), never false positives (non-exhaustive matches reported as exhaustive)
2022-10-19 09:53:59 +0000 <mastarija> I'm more like "is there a case where it's not possible to correctly infer exhaustiveness, and GHC will stay silent"
2022-10-19 09:54:45 +0000 <lortabac> there are cases where the patterns are exhaustive but GHC complains of missing cases
2022-10-19 09:54:49 +0000 <mastarija> And eventually / potentially result in a runtime error
2022-10-19 09:55:36 +0000CiaoSen(~Jura@p200300c9570723002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-10-19 09:55:59 +0000 <lortabac> but if you get the opposite behavior (GHC thinks that patterns are exhaustive but they aren't) then it's a bug
2022-10-19 09:56:30 +0000 <lortabac> which is exactly what merijn has just said :D
2022-10-19 09:57:04 +0000MajorBiscuit(~MajorBisc@145.94.160.95)
2022-10-19 10:00:39 +0000 <mastarija> Cool. Thanks!
2022-10-19 10:00:50 +0000random-jellyfish(~random-je@user/random-jellyfish)
2022-10-19 10:04:47 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 10:09:36 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-19 10:13:36 +0000raym(~aritra@user/raym) (Ping timeout: 264 seconds)
2022-10-19 10:13:59 +0000raym(~aritra@user/raym)
2022-10-19 10:18:06 +0000vglfr(~vglfr@145.224.100.100) (Remote host closed the connection)
2022-10-19 10:18:31 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-19 10:18:50 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-10-19 10:18:51 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 10:20:15 +0000frost16(~frost@user/frost)
2022-10-19 10:23:16 +0000MajorBiscuit(~MajorBisc@145.94.160.95) (Ping timeout: 246 seconds)
2022-10-19 10:23:30 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 10:27:35 +0000vn36__(~vn36@123.63.203.210)
2022-10-19 10:29:20 +0000mastarija_(~mastarija@2a05:4f46:e03:6000:450:24db:a030:2d0b)
2022-10-19 10:32:30 +0000mastarija(~mastarija@2a05:4f46:e03:6000:450:24db:a030:2d0b) (Ping timeout: 264 seconds)
2022-10-19 10:35:37 +0000perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7)
2022-10-19 10:36:05 +0000perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-10-19 10:39:56 +0000acidjnk(~acidjnk@p200300d6e7137a08b4dee3a6debde38e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-10-19 10:40:41 +0000mastarija_(~mastarija@2a05:4f46:e03:6000:450:24db:a030:2d0b) (Quit: Leaving)
2022-10-19 10:47:22 +0000Everything(~Everythin@37.115.210.35)
2022-10-19 10:49:39 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 248 seconds)
2022-10-19 10:54:27 +0000potash(~foghorn@user/foghorn) (Read error: Connection reset by peer)
2022-10-19 10:54:50 +0000potash(~foghorn@user/foghorn)
2022-10-19 10:55:20 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds)
2022-10-19 10:56:24 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-19 11:11:51 +0000MajorBiscuit(~MajorBisc@145.94.160.95)
2022-10-19 11:14:48 +0000merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2022-10-19 11:17:12 +0000acidjnk(~acidjnk@p200300d6e7137a08b4dee3a6debde38e.dip0.t-ipconnect.de)
2022-10-19 11:17:53 +0000MajorBiscuit(~MajorBisc@145.94.160.95) (Read error: Connection reset by peer)
2022-10-19 11:18:26 +0000MajorBiscuit(~MajorBisc@145.94.160.95)
2022-10-19 11:18:35 +0000cfricke(~cfricke@user/cfricke)
2022-10-19 11:21:29 +0000MajorBiscuit(~MajorBisc@145.94.160.95) (Client Quit)
2022-10-19 11:25:37 +0000MajorBiscuit(~MajorBisc@145.94.160.95)
2022-10-19 11:26:01 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-19 11:26:06 +0000DavidBinder(~DavidBind@134.2.10.18)
2022-10-19 11:30:10 +0000akegalj(~akegalj@213.202.90.118)
2022-10-19 11:33:46 +0000CiaoSen(~Jura@p200300c9570723002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-10-19 11:36:59 +0000Kaiepi(~Kaiepi@108.175.84.104)
2022-10-19 11:38:49 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 11:43:56 +0000stackdroid18(14094@user/stackdroid)
2022-10-19 11:44:39 +0000jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
2022-10-19 11:45:15 +0000xff0x(~xff0x@2405:6580:b080:900:6701:db86:2182:5220)
2022-10-19 11:47:30 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 264 seconds)
2022-10-19 11:48:49 +0000notzmv(~zmv@user/notzmv)
2022-10-19 11:55:11 +0000wonko(~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 260 seconds)
2022-10-19 11:58:46 +0000rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-10-19 12:00:21 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2022-10-19 12:00:27 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 12:00:35 +0000mesaoptimizer2(~mesaoptim@user/PapuaHardyNet)
2022-10-19 12:00:58 +0000rembo10(~rembo10@main.remulis.com)
2022-10-19 12:01:34 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-10-19 12:02:11 +0000razetime(~quassel@117.193.6.127)
2022-10-19 12:02:11 +0000nate1(~nate@98.45.169.16)
2022-10-19 12:06:33 +0000vn36__(~vn36@123.63.203.210) (Ping timeout: 246 seconds)
2022-10-19 12:07:02 +0000nate1(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-10-19 12:18:08 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds)
2022-10-19 12:19:59 +0000euandreh(~euandreh@179.214.113.107) (Quit: WeeChat 3.6)
2022-10-19 12:20:07 +0000vn36__(~vn36@123.63.203.210)
2022-10-19 12:22:54 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
2022-10-19 12:27:24 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 264 seconds)
2022-10-19 12:27:56 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 252 seconds)
2022-10-19 12:28:24 +0000jero98772(~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c)
2022-10-19 12:29:38 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 12:31:05 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2022-10-19 12:31:32 +0000kuribas(~user@silversquare.silversquare.eu)
2022-10-19 12:35:16 +0000Neuromancer(~Neuromanc@user/neuromancer)
2022-10-19 12:35:39 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2022-10-19 12:36:40 +0000haskl(~haskl@user/haskl) (Read error: Connection reset by peer)
2022-10-19 12:40:18 +0000CiaoSen(~Jura@p200300c9570723002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-10-19 12:42:26 +0000MajorBiscuit(~MajorBisc@145.94.160.95) (Ping timeout: 260 seconds)
2022-10-19 12:51:31 +0000CiaoSen(~Jura@p200300c9570723002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-10-19 12:56:40 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-10-19 12:57:56 +0000MajorBiscuit(~MajorBisc@145.94.160.95)
2022-10-19 12:58:16 +0000littlefinger(~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net)
2022-10-19 13:00:30 +0000L29Ah(~L29Ah@wikipedia/L29Ah)
2022-10-19 13:01:40 +0000LukeHoersten(~LukeHoers@user/lukehoersten)
2022-10-19 13:02:30 +0000shriekingnoise(~shrieking@186.137.167.202)
2022-10-19 13:10:16 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2022-10-19 13:11:07 +0000kuribas(~user@silversquare.silversquare.eu) (Read error: Connection reset by peer)
2022-10-19 13:11:20 +0000kuribas(~user@silversquare.silversquare.eu)
2022-10-19 13:14:28 +0000ChaiTRex(~ChaiTRex@user/chaitrex)
2022-10-19 13:15:10 +0000LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-19 13:18:04 +0000kuribas(~user@silversquare.silversquare.eu) (Read error: Connection reset by peer)
2022-10-19 13:19:08 +0000kuribas(~user@silversquare.silversquare.eu)
2022-10-19 13:23:07 +0000Ranhir(~Ranhir@157.97.53.139) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2022-10-19 13:25:21 +0000stackdroid18(14094@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-10-19 13:25:44 +0000thegeekinside(~thegeekin@189.180.97.156)
2022-10-19 13:26:35 +0000Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Quit: o/)
2022-10-19 13:27:56 +0000m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 260 seconds)
2022-10-19 13:28:49 +0000acidjnk(~acidjnk@p200300d6e7137a08b4dee3a6debde38e.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2022-10-19 13:29:09 +0000acidjnk(~acidjnk@p200300d6e7137a08b4dee3a6debde38e.dip0.t-ipconnect.de)
2022-10-19 13:29:49 +0000vn36__(~vn36@123.63.203.210) (Ping timeout: 246 seconds)
2022-10-19 13:30:48 +0000Ranhir(~Ranhir@157.97.53.139)
2022-10-19 13:30:59 +0000Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2022-10-19 13:31:57 +0000geekosaur(~geekosaur@xmonad/geekosaur)
2022-10-19 13:32:14 +0000vn36__(~vn36@123.63.203.210)
2022-10-19 13:32:29 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-10-19 13:33:55 +0000kuribas(~user@silversquare.silversquare.eu) (Remote host closed the connection)
2022-10-19 13:34:24 +0000m5zs7k(aquares@web10.mydevil.net)
2022-10-19 13:36:22 +0000szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-10-19 13:38:50 +0000Sgeo(~Sgeo@user/sgeo)
2022-10-19 13:42:46 +0000kuribas(~user@silversquare.silversquare.eu)
2022-10-19 13:45:12 +0000 <dminuoso> raehik: It occured to me, that with a bit of lookahead I could have it all: https://gist.github.com/dminuoso/84fc29d4b3c44c056e267b6457938b2c
2022-10-19 13:47:42 +0000Bob_Esponja(~Bob_Espon@122.red-81-43-10.staticip.rima-tde.net)
2022-10-19 13:48:03 +0000Bob_Esponja(~Bob_Espon@122.red-81-43-10.staticip.rima-tde.net) (Read error: Connection reset by peer)
2022-10-19 13:50:53 +0000 <raehik> dminuoso: nice! out of interest are you using the stateful parser?
2022-10-19 13:51:35 +0000 <dminuoso> No, while a stateful parser would help a lot, `Int` is just not enough.
2022-10-19 13:52:00 +0000 <dminuoso> If there was an explicit State RealWorld token embeded inside, I could use IORefs in the reader environment
2022-10-19 13:52:04 +0000 <dminuoso> But there's not, sadly.
2022-10-19 13:53:15 +0000 <dminuoso> With sufficient analysis, GHC could swap `f` and `g` around in `f >> g` here
2022-10-19 13:53:42 +0000 <dminuoso> Though mmm, no actually it cant as long as `f` and `g` can err.
2022-10-19 13:55:10 +0000 <dminuoso> {-# NOINLINE liftIO #-} liftIO :: IO a -> Parser e a; liftIO act = Parser $ \fp eob s -> unsafePerformIO (act >> pure (OK# s))
2022-10-19 13:55:14 +0000 <dminuoso> This looks benign, doesnt it?
2022-10-19 13:56:28 +0000acidjnk_new(~acidjnk@p200300d6e7137a877551a7e8fd85f50e.dip0.t-ipconnect.de)
2022-10-19 13:57:05 +0000 <raehik> oh that's right, you only get a polymorphic reader environment in the stateful parser
2022-10-19 13:57:16 +0000 <dminuoso> Yeah, Im not entirely sure why that is the case.
2022-10-19 13:57:36 +0000 <dminuoso> Given that both Int and a thunk pointer is just a word
2022-10-19 13:58:13 +0000 <dminuoso> Perhaps it performs worse with STRICT enabled?
2022-10-19 13:58:38 +0000 <raehik> I seem to recall the stateful parser was more experimental. only recently was the reader env changed from Int to polymorphic
2022-10-19 13:58:54 +0000 <dminuoso> Ah on github you mean?
2022-10-19 13:59:04 +0000 <raehik> andras kovacs is very receptive to changes and suggestions
2022-10-19 13:59:33 +0000 <dminuoso> Honestly, I think Ill rather explore the unsafePerformIO route.
2022-10-19 13:59:58 +0000 <dminuoso> Its way easier to predict performance with using IORefs inside a parser
2022-10-19 14:00:01 +0000acidjnk(~acidjnk@p200300d6e7137a08b4dee3a6debde38e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-10-19 14:00:54 +0000 <dminuoso> Added benefit is that you can also use the non-stateful parser and explicitly parse an env around
2022-10-19 14:01:11 +0000CiaoSen(~Jura@p200300c9570723002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-10-19 14:01:16 +0000 <dminuoso> Which might perform better and generate smaller code since these extra arguments are not inserted everywhere
2022-10-19 14:01:52 +0000 <raehik> I'm not experienced in that part of Haskell but I'd be super keen to see flatparse put on more weight
2022-10-19 14:02:34 +0000 <raehik> and more examples of usage
2022-10-19 14:03:09 +0000freeside_(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds)
2022-10-19 14:09:33 +0000LukeHoersten(~LukeHoers@user/lukehoersten)
2022-10-19 14:11:54 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-10-19 14:12:27 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-10-19 14:13:49 +0000frost16(~frost@user/frost) (Ping timeout: 244 seconds)
2022-10-19 14:15:59 +0000CiaoSen(~Jura@2003:c9:5707:2300:2a3a:4dff:fe84:dbd5)
2022-10-19 14:16:49 +0000raym(~aritra@user/raym) (Ping timeout: 252 seconds)
2022-10-19 14:21:32 +0000plasticman(~plasticma@pool-165-230-224-156.nat.rutgers.edu)
2022-10-19 14:23:10 +0000 <plasticman> Hi, I've been trying get all permutations of a list, but I'm getting a "cannot construct the infinite type" error, and I can't figure out why
2022-10-19 14:23:19 +0000 <plasticman> my code: https://justpaste.it/2vbbc/pdf
2022-10-19 14:27:20 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-19 14:32:15 +0000vn36__(~vn36@123.63.203.210) (Ping timeout: 268 seconds)
2022-10-19 14:33:40 +0000 <dminuoso> raehik: There was a very recent benchmark, and flatparse came out far ahead in terms of speed and memory usage.
2022-10-19 14:34:00 +0000 <dminuoso> It was sadly missing `parsnip` though, which internally is very similar to flatparse
2022-10-19 14:34:36 +0000vglfr(~vglfr@145.224.100.100) (Ping timeout: 264 seconds)
2022-10-19 14:35:31 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 14:36:09 +0000 <dminuoso> https://gitlab.com/FinnBender/haskell-parsing-benchmarks
2022-10-19 14:36:32 +0000 <dminuoso> Most surprising, alex/happy performed quite poorly in time, and especially in terms of memory consumption
2022-10-19 14:37:02 +0000 <raehik> Wow. Thanks for this
2022-10-19 14:37:23 +0000 <raehik> surprised to see flatparse beat out a handwritten parser so much
2022-10-19 14:37:34 +0000 <raehik> (albeit in mem consumption only)
2022-10-19 14:37:36 +0000 <dminuoso> Well fsvo "handwritten"
2022-10-19 14:38:26 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 14:39:31 +0000 <dminuoso> But yeah, the main advantage of flatparse is that it operates directly on a bytestring
2022-10-19 14:39:48 +0000 <dminuoso> THe handwritten parser uses BS.uncons to generate tokens, which means you are generating a lot of additional allocations
2022-10-19 14:40:26 +0000 <dminuoso> In typical monadic parser style you do lexing/parsing as one step sort of. It makes the parser much less elegant, but it does save you these extra allocations
2022-10-19 14:40:27 +0000 <raehik> ah, omitting/"inlining" the tokenizing step is why I like parser combinators
2022-10-19 14:40:50 +0000 <dminuoso> flatparse does have a really good example, that you can still do a sort of separate lexing/parsing semantically
2022-10-19 14:41:20 +0000random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2022-10-19 14:41:23 +0000 <dminuoso> by having one Lexer module that exposes all the parsers that parse semantic tokens, and one Parser module that ideally only uses parsers from that Lexer module (and combinators from flatparse)
2022-10-19 14:41:51 +0000 <geekosaur> siiigh, and I thought pastebin.com was bad… pdf, really?
2022-10-19 14:42:23 +0000 <geekosaur> can't even copy it without the line numbers
2022-10-19 14:42:43 +0000 <dminuoso> geekosaur: its easy. print it out, cut off the left and top parts of it, and then OCR it back.
2022-10-19 14:42:48 +0000 <dminuoso> Dont complain now!
2022-10-19 14:43:14 +0000mncheck(~mncheck@193.224.205.254)
2022-10-19 14:44:41 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-10-19 14:45:46 +0000 <dminuoso> plasticman: The error `cannot construct the infinite type` here arises because it ends up with something like a ~ [a] here, trying to solve that it ends up doing a ~ [a] ~ [[a]] ~ [[[a]]] ~ [[[[a]]]] ... which means whatever it has found has some such infinite type
2022-10-19 14:46:00 +0000 <geekosaur> anyway, plasticman, looks to me like you have a list comprehension which returns the result of a call to `process` as each element of the result list. this is going to result in `a` unifying with `[a]`
2022-10-19 14:46:34 +0000 <geekosaur> which constructs an infinite type, as dminuoso said
2022-10-19 14:46:38 +0000 <plasticman> I see
2022-10-19 14:47:12 +0000 <plasticman> this is the algorithm I'm using. Maybe a map is needed?
2022-10-19 14:47:13 +0000 <plasticman> to me like you have a list comprehension which returns the result of a call to `process` as each element of the result list. this is go
2022-10-19 14:47:25 +0000 <plasticman> sorry https://www.baeldung.com/cs/array-generate-all-permutations#simple-recursive-algorithm
2022-10-19 14:47:36 +0000 <geekosaur> you may want something like `concatMap` aka `=<<`
2022-10-19 14:47:44 +0000 <dminuoso> plasticman: You likely want to move `process nperm rperm` into right hand side of the list comprehension
2022-10-19 14:48:11 +0000 <geekosaur> or more likely what dminuoso said
2022-10-19 14:48:16 +0000 <dminuoso> [r | e <- eperm, let nperm = cperm ++ [e], let rperm = delete e eperm, r <- process nperm rperm]
2022-10-19 14:48:45 +0000 <geekosaur> the <- being important as it's "for each" (and si related to `concatMap` that I mentioned)
2022-10-19 14:48:54 +0000 <dminuoso> plasticman: also note there is a likely typo in that you apply process to both nperm twice.
2022-10-19 14:48:57 +0000 <geekosaur> *is related
2022-10-19 14:49:10 +0000 <dminuoso> Oh hold on, you didnt. n and r render so similarly
2022-10-19 14:49:23 +0000 <dminuoso> Nevermind that last statement.
2022-10-19 14:49:53 +0000 <dminuoso> raehik: What is funny, is that while I have never learned Prolog, I now understand what `cut` is. :)
2022-10-19 14:51:08 +0000 <dminuoso> And having that tool is really interesting, because together with `try` and `optional`, you have some really good control over backtracking.
2022-10-19 14:52:47 +0000 <defanor> Is there a way to prepare files for binary packages (like Debian ones) with Cabal 3.0, while loading build dependencies in its usual way (including Hackage), setting a datadir properly, and preferably moving `data-files` (as defined in .cabal) there? I used to `cabal configure --prefix=/usr` and `cabal copy --destdir=deb` on older versions, but now even --datadir option for cabal configure/build/install doesn't seem
2022-10-19 14:52:47 +0000 <defanor> to have any effect (the produced executable looks into ~/.cabal/store/ for data files). --installdir works for the binary itself, but not for data files.
2022-10-19 14:54:08 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 14:54:24 +0000 <raehik> dminuoso: `cut` is adapted from a Prolog tool? I didn't know people wrote parsers in that lang
2022-10-19 14:54:56 +0000 <dminuoso> raehik: No rather, it was named because it does a similar thing in prolog
2022-10-19 14:55:13 +0000 <dminuoso> Instead of thinking `turn failure into error`, think of it as "do not backtrack"
2022-10-19 14:55:25 +0000 <dminuoso> as in "prevent backtracking"
2022-10-19 14:55:27 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan) (Excess Flood)
2022-10-19 14:56:25 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-10-19 14:56:46 +0000 <dminuoso> Im not entirely sure whether it was named correctly in flatparse, as the way you use ! in prolog is closer to `try` I suppose.
2022-10-19 14:57:35 +0000 <raehik> hm, I see
2022-10-19 14:57:39 +0000 <dminuoso> Its just a bit strange because in prolog you write code differently
2022-10-19 14:58:11 +0000 <dminuoso> They do the same thing at the end, because ! in prolog and `cut` in flatparse both are used to prevent extra solutions
2022-10-19 14:58:59 +0000 <dminuoso> I was having a real bad time initially when porting to flatparse, as all the backtracking didnt work properly until I understood what `cut` really does.
2022-10-19 14:59:20 +0000 <dminuoso> It would be kind of nice to attach contextual information to failed branches too
2022-10-19 14:59:59 +0000 <raehik> I didn't have to think about it, my lib mostly uses `cutting` to pile on extra info to errors with little backtracking :D
2022-10-19 15:00:12 +0000mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-10-19 15:00:17 +0000 <dminuoso> Well as soon as you use things like `some` you have to be very careful with backtracking
2022-10-19 15:01:30 +0000akegalj(~akegalj@213.202.90.118) (Quit: leaving)
2022-10-19 15:03:43 +0000vn36_(~vn36@123.63.203.210)
2022-10-19 15:03:48 +0000raym(~aritra@user/raym)
2022-10-19 15:05:58 +0000 <plasticman> now I'm getting a parse error on "process cperm [] = [cperm]"
2022-10-19 15:10:29 +0000cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7)
2022-10-19 15:14:04 +0000kenran`(~user@user/kenran) (Remote host closed the connection)
2022-10-19 15:23:31 +0000gaff(~gaff@49.207.211.43)
2022-10-19 15:23:37 +0000gaff(~gaff@49.207.211.43) (Client Quit)
2022-10-19 15:25:18 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
2022-10-19 15:25:52 +0000Guest83(~Guest83@12.106.62.12)
2022-10-19 15:27:57 +0000 <Guest83> @free fmap :: (a -> b) -> (F a -> F b)
2022-10-19 15:27:57 +0000 <lambdabot> g . h = k . f => $map_F g . fmap h = fmap k . $map_F f
2022-10-19 15:28:37 +0000Guest83(~Guest83@12.106.62.12) (Client Quit)
2022-10-19 15:29:39 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Ping timeout: 248 seconds)
2022-10-19 15:31:15 +0000 <plasticman> okay, I just needed to put more spaces
2022-10-19 15:31:22 +0000 <geekosaur> plasticman, can you show your current code (all of it, not just that line: often parse errors are caused by confusion about an earlier line or by indentation errors relative to a previous line)
2022-10-19 15:31:24 +0000 <geekosaur> whoops
2022-10-19 15:31:37 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds)
2022-10-19 15:31:42 +0000 <geekosaur> yes, haskell uses indentation and you must be careful with it
2022-10-19 15:32:56 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
2022-10-19 15:33:48 +0000 <plasticman> thank you all for the help
2022-10-19 15:36:14 +0000vglfr(~vglfr@145.224.100.100) (Remote host closed the connection)
2022-10-19 15:36:50 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 15:37:42 +0000vglfr(~vglfr@145.224.100.100) (Remote host closed the connection)
2022-10-19 15:38:01 +0000MajorBiscuit(~MajorBisc@145.94.160.95) (Ping timeout: 260 seconds)
2022-10-19 15:38:25 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 15:42:27 +0000plasticman(~plasticma@pool-165-230-224-156.nat.rutgers.edu) (Quit: Leaving)
2022-10-19 15:44:14 +0000justachejustHaunted
2022-10-19 15:45:51 +0000LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-19 15:45:54 +0000DavidBinder(~DavidBind@134.2.10.18) (Quit: Leaving)
2022-10-19 15:47:00 +0000LukeHoersten(~LukeHoers@user/lukehoersten)
2022-10-19 15:51:32 +0000vglfr(~vglfr@145.224.100.100) (Remote host closed the connection)
2022-10-19 15:53:11 +0000vn36_(~vn36@123.63.203.210) (Ping timeout: 260 seconds)
2022-10-19 15:54:47 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-10-19 15:54:47 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-10-19 15:54:47 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-10-19 15:55:22 +0000CiaoSen(~Jura@2003:c9:5707:2300:2a3a:4dff:fe84:dbd5) (Quit: CiaoSen)
2022-10-19 15:55:43 +0000ChaiTRex(~ChaiTRex@user/chaitrex)
2022-10-19 15:55:47 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-10-19 15:56:33 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-10-19 15:57:35 +0000Tuplanolla(~Tuplanoll@91-159-69-245.elisa-laajakaista.fi)
2022-10-19 16:02:30 +0000freeside(~mengwong@115.66.48.84)
2022-10-19 16:02:47 +0000jakalx(~jakalx@base.jakalx.net) ()
2022-10-19 16:02:56 +0000jakalx(~jakalx@base.jakalx.net)
2022-10-19 16:03:46 +0000nate1(~nate@98.45.169.16)
2022-10-19 16:04:01 +0000vn36__(~vn36@123.63.203.210)
2022-10-19 16:06:11 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection)
2022-10-19 16:07:13 +0000freeside(~mengwong@115.66.48.84) (Ping timeout: 268 seconds)
2022-10-19 16:08:39 +0000nate1(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-10-19 16:09:57 +0000LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-19 16:12:14 +0000LukeHoersten(~LukeHoers@user/lukehoersten)
2022-10-19 16:14:14 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-10-19 16:14:30 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:6f7e:524f:cc40:2955) (Quit: WeeChat 2.8)
2022-10-19 16:14:34 +0000titibandit(~titibandi@xdsl-78-34-208-230.nc.de)
2022-10-19 16:19:10 +0000LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-19 16:20:20 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-19 16:20:32 +0000kuribas(~user@silversquare.silversquare.eu) (Remote host closed the connection)
2022-10-19 16:20:48 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 264 seconds)
2022-10-19 16:21:58 +0000LukeHoersten(~LukeHoers@user/lukehoersten)
2022-10-19 16:22:42 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2022-10-19 16:24:03 +0000ChaiTRex(~ChaiTRex@user/chaitrex)
2022-10-19 16:26:13 +0000Midjak(~Midjak@82.66.147.146) (Ping timeout: 246 seconds)
2022-10-19 16:27:48 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 16:31:13 +0000econo(uid147250@user/econo)
2022-10-19 16:33:07 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 16:36:56 +0000merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-10-19 16:37:10 +0000 <sclv> defanor: sadly, currently datadir is ignored in v2-build. i think a possible approach would be to `cabal exec bash` to establish an environment with all dependencies built and in scope, and then to use ./Setup configure build and install within that bash shell.
2022-10-19 16:37:54 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 264 seconds)
2022-10-19 16:38:16 +0000 <defanor> sclv: Thanks, I'll try that now.
2022-10-19 16:41:48 +0000merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2022-10-19 16:44:13 +0000littlefinger(~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) (Quit: Client closed)
2022-10-19 16:46:43 +0000razetime(~quassel@117.193.6.127) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-10-19 16:52:41 +0000 <defanor> It fails to pull dependencies as usual that way, as well as with `cabal exec -- runhaskell '-package Cabal' Setup.hs configure --prefix=/usr`. Though perhaps I'll just work around it then, by setting pkg_datadir environment variable and copying the data files using a Makefile instead: either way it's not going to be particularly neat.
2022-10-19 16:53:52 +0000 <sclv> hrm thats unfortunate
2022-10-19 16:53:56 +0000titibandit(~titibandi@xdsl-78-34-208-230.nc.de) (Quit: Leaving.)
2022-10-19 16:54:29 +0000 <sclv> note that if you had a working setup with v1- commands, those still exist for the time being. i.e. you can do cabal v1-build etc that operates as before
2022-10-19 16:56:19 +0000beteigeuze(~Thunderbi@89.187.168.55) (Ping timeout: 246 seconds)
2022-10-19 16:58:21 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
2022-10-19 17:04:26 +0000LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-19 17:08:13 +0000MajorBiscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
2022-10-19 17:10:55 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 17:16:01 +0000MajorBiscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 260 seconds)
2022-10-19 17:16:13 +0000Midjak(~Midjak@82.66.147.146)
2022-10-19 17:16:34 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 17:21:56 +0000LukeHoersten(~LukeHoers@user/lukehoersten)
2022-10-19 17:22:57 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds)
2022-10-19 17:24:18 +0000berberman(~berberman@user/berberman) (Ping timeout: 268 seconds)
2022-10-19 17:25:10 +0000zer0bitz(~zer0bitz@2001:2003:f748:2000:c97d:2eea:c4af:e43e)
2022-10-19 17:25:22 +0000 <dminuoso> Well as soon as you use things like `some` you have to be very careful with backtracking
2022-10-19 17:25:34 +0000 <dminuoso> Oops. sorry, wrong terminal was in focus.
2022-10-19 17:27:28 +0000jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-10-19 17:28:32 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
2022-10-19 17:30:57 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-10-19 17:31:06 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-10-19 17:33:24 +0000vglfr(~vglfr@145.224.100.100) (Ping timeout: 264 seconds)
2022-10-19 17:33:25 +0000jakalx(~jakalx@base.jakalx.net)
2022-10-19 17:35:55 +0000mbuf(~Shakthi@49.204.139.143) (Quit: Leaving)
2022-10-19 17:36:36 +0000vglfr(~vglfr@145.224.100.100)
2022-10-19 17:43:51 +0000LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-10-19 17:44:27 +0000mc47(~mc47@xmonad/TheMC47)
2022-10-19 17:48:19 +0000paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds)
2022-10-19 17:50:12 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-19 17:54:24 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2022-10-19 17:54:37 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds)
2022-10-19 17:55:37 +0000vn36__(~vn36@123.63.203.210) (Remote host closed the connection)
2022-10-19 17:55:56 +0000vn36__(~vn36@123.63.203.210)
2022-10-19 17:58:48 +0000wonko(~wjc@2a0e:1c80:2:0:45:15:19:130)
2022-10-19 18:03:45 +0000kenran(~user@user/kenran)
2022-10-19 18:06:37 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e) (Remote host closed the connection)
2022-10-19 18:13:12 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-19 18:16:36 +0000jackhill(~jackhill@kalessin.dragonsnail.net) (Ping timeout: 268 seconds)
2022-10-19 18:18:59 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 18:22:11 +0000ft(~ft@p3e9bc845.dip0.t-ipconnect.de)
2022-10-19 18:23:02 +0000berberman(~berberman@user/berberman)
2022-10-19 18:24:51 +0000malte(~malte@mal.tc)
2022-10-19 18:28:05 +0000malte(~malte@mal.tc) (Remote host closed the connection)
2022-10-19 18:29:14 +0000malte(~malte@mal.tc)
2022-10-19 18:30:45 +0000axeman(~quassel@2a02:8109:a380:78:c903:2325:2c4a:e6c1)
2022-10-19 18:35:54 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 18:39:46 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-10-19 18:40:30 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2022-10-19 18:43:00 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-19 18:44:41 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-10-19 18:45:42 +0000axeman(~quassel@2a02:8109:a380:78:c903:2325:2c4a:e6c1) (Ping timeout: 268 seconds)
2022-10-19 18:46:23 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-19 18:46:38 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:dd67:259e:7b08:293e)
2022-10-19 18:49:33 +0000kenran(~user@user/kenran) (Remote host closed the connection)
2022-10-19 18:54:36 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-19 18:54:57 +0000zer0bitz(~zer0bitz@2001:2003:f748:2000:c97d:2eea:c4af:e43e) (Read error: Connection reset by peer)
2022-10-19 18:55:06 +0000axeman(~quassel@2a02:8109:a380:78:12c5:f08a:fe34:cda6)
2022-10-19 18:55:21 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 19:05:31 +0000axeman(~quassel@2a02:8109:a380:78:12c5:f08a:fe34:cda6) (Ping timeout: 272 seconds)
2022-10-19 19:05:57 +0000fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving)
2022-10-19 19:06:24 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 19:07:17 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 19:20:35 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 19:21:10 +0000paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2022-10-19 19:24:24 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 264 seconds)
2022-10-19 19:26:26 +0000pavonia(~user@user/siracusa)
2022-10-19 19:32:43 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 19:34:52 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 260 seconds)
2022-10-19 19:36:31 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-19 19:37:23 +0000vn36__(~vn36@123.63.203.210) (Ping timeout: 268 seconds)
2022-10-19 19:38:06 +0000vn36_(~vn36@123.63.203.210)
2022-10-19 19:41:17 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds)
2022-10-19 19:42:50 +0000zeenk(~zeenk@2a02:2f04:a311:7000:aa5:d3dd:854f:9922)
2022-10-19 19:43:37 +0000vn36_(~vn36@123.63.203.210) (Ping timeout: 260 seconds)
2022-10-19 19:43:59 +0000causal(~user@50.35.83.177)
2022-10-19 19:44:05 +0000littlefinger(~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net)
2022-10-19 19:46:17 +0000MajorBiscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
2022-10-19 19:47:13 +0000Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-10-19 19:48:12 +0000littlefinger(~littlefin@pool-74-102-98-242.nwrknj.fios.verizon.net) (Client Quit)
2022-10-19 19:48:16 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 19:48:21 +0000axeman(~quassel@2a02:8109:a380:78:974a:2e45:fd2e:f5d0)
2022-10-19 19:49:10 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 19:50:17 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-10-19 19:51:29 +0000Lumia(~Lumia@user/Lumia)
2022-10-19 19:52:42 +0000vn36_(~vn36@123.63.203.210)
2022-10-19 19:52:48 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Client Quit)
2022-10-19 19:53:50 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-10-19 19:54:05 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-19 19:59:00 +0000Kaiepi(~Kaiepi@108.175.84.104) (Remote host closed the connection)
2022-10-19 19:59:25 +0000Kaiepi(~Kaiepi@108.175.84.104)
2022-10-19 20:00:36 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 272 seconds)
2022-10-19 20:03:18 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 20:04:19 +0000Kaiepi(~Kaiepi@108.175.84.104) (Read error: Connection reset by peer)
2022-10-19 20:04:33 +0000caryhartline(~caryhartl@2600:1700:2d0:8d30:5cd5:afa2:55e9:2fce)
2022-10-19 20:05:16 +0000nate1(~nate@98.45.169.16)
2022-10-19 20:05:30 +0000Kaiepi(~Kaiepi@108.175.84.104)
2022-10-19 20:07:00 +0000phma_(phma@2001:5b0:215a:d2a8:983b:e9da:c4b4:2a59)
2022-10-19 20:08:02 +0000Kaiepi(~Kaiepi@108.175.84.104) (Remote host closed the connection)
2022-10-19 20:08:17 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 20:08:25 +0000Kaiepi(~Kaiepi@108.175.84.104)
2022-10-19 20:09:56 +0000nate1(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-10-19 20:10:43 +0000phma(~phma@host-67-44-208-235.hnremote.net) (Ping timeout: 248 seconds)
2022-10-19 20:12:39 +0000Topsi(~Topsi@dyndsl-095-033-094-034.ewe-ip-backbone.de)
2022-10-19 20:12:52 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 252 seconds)
2022-10-19 20:14:13 +0000yvan-sraka(~yvan-srak@2a01cb0802a4b90054ce5bb6fad20cec.ipv6.abo.wanadoo.fr)
2022-10-19 20:15:10 +0000Lumia(~Lumia@user/Lumia) (Ping timeout: 272 seconds)
2022-10-19 20:15:31 +0000merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-10-19 20:15:55 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 20:20:57 +0000merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-10-19 20:22:24 +0000MajorBiscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 252 seconds)
2022-10-19 20:24:57 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 20:26:39 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-10-19 20:29:04 +0000gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-10-19 20:31:16 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 20:33:50 +0000nate1(~nate@98.45.169.16)
2022-10-19 20:35:50 +0000zeenk2(~zeenk@188.25.232.159)
2022-10-19 20:37:48 +0000zeenk(~zeenk@2a02:2f04:a311:7000:aa5:d3dd:854f:9922) (Ping timeout: 252 seconds)
2022-10-19 20:40:35 +0000zeenk(~zeenk@5.12.219.147)
2022-10-19 20:41:22 +0000zeenk2(~zeenk@188.25.232.159) (Ping timeout: 260 seconds)
2022-10-19 20:44:10 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 20:56:03 +0000mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-10-19 20:56:29 +0000Lumia(~Lumia@user/Lumia)
2022-10-19 20:58:51 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-10-19 20:58:52 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds)
2022-10-19 20:59:34 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 246 seconds)
2022-10-19 21:00:06 +0000mmhat(~mmh@p200300f1c7337736ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-10-19 21:00:34 +0000yvan-sraka(~yvan-srak@2a01cb0802a4b90054ce5bb6fad20cec.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2022-10-19 21:02:32 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-10-19 21:02:32 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds)
2022-10-19 21:02:41 +0000axeman(~quassel@2a02:8109:a380:78:974a:2e45:fd2e:f5d0) (Ping timeout: 272 seconds)
2022-10-19 21:04:20 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-10-19 21:05:13 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2022-10-19 21:07:12 +0000haskl(~haskl@user/haskl)
2022-10-19 21:08:21 +0000 <dminuoso> How do I extend a Word16 into Word32#
2022-10-19 21:08:30 +0000 <dminuoso> *Word16# into Word32# on older GHC verrsions
2022-10-19 21:11:31 +0000 <davean> dminuoso: How old? There are the word16ToWord# / wordToWord16# combos.
2022-10-19 21:11:59 +0000 <dminuoso> Not in base-4.15.0.0
2022-10-19 21:12:02 +0000mmhat(~mmh@p200300f1c73377eeee086bfffe095315.dip0.t-ipconnect.de)
2022-10-19 21:12:09 +0000 <davean> thats ghc-prim
2022-10-19 21:12:23 +0000 <davean> If you're working with magic hash, you often need ghc-prim
2022-10-19 21:12:34 +0000 <davean> or primative
2022-10-19 21:13:00 +0000 <dminuoso> Well I want the full battery
2022-10-19 21:13:18 +0000 <davean> Huh?
2022-10-19 21:13:36 +0000 <dminuoso> So I also want Word8# -> Word64# for instance
2022-10-19 21:13:52 +0000 <dminuoso> (Is that safe to just unsafeCoerce#?)
2022-10-19 21:13:53 +0000 <davean> right, so combine them
2022-10-19 21:14:03 +0000chomwitt(~chomwitt@2a02:587:dc1e:5e00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
2022-10-19 21:14:06 +0000 <davean> wordToWord64# (word8ToWord# x)
2022-10-19 21:14:23 +0000 <dminuoso> Ohh
2022-10-19 21:14:31 +0000 <dminuoso> Okay I see.
2022-10-19 21:18:31 +0000vn36_(~vn36@123.63.203.210) (Ping timeout: 272 seconds)
2022-10-19 21:20:32 +0000danza(~francesco@151.57.79.164)
2022-10-19 21:22:45 +0000geekosaur(~geekosaur@xmonad/geekosaur)
2022-10-19 21:25:44 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-19 21:26:59 +0000jackhill(~jackhill@kalessin.dragonsnail.net)
2022-10-19 21:30:00 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 21:30:09 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds)
2022-10-19 21:31:20 +0000mikoto-chan(~mikoto-ch@85-76-45-203-nat.elisa-mobile.fi)
2022-10-19 21:32:07 +0000Lumia(~Lumia@user/Lumia) (Ping timeout: 260 seconds)
2022-10-19 21:32:40 +0000Lycurgus(~juan@user/Lycurgus)
2022-10-19 21:34:27 +0000nate1(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-10-19 21:36:06 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-10-19 21:37:06 +0000moonsheep(~moonsheep@user/moonsheep)
2022-10-19 21:38:32 +0000zeenk(~zeenk@5.12.219.147) (Ping timeout: 260 seconds)
2022-10-19 21:40:40 +0000szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-10-19 21:42:11 +0000 <moonsheep> is there some convenience function that turns any ByteString into a Storable a?
2022-10-19 21:42:25 +0000 <moonsheep> I could just write one but I'd like to know if it's out there already
2022-10-19 21:42:53 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-10-19 21:43:55 +0000mixfix41(~sdenynine@user/mixfix41) (Ping timeout: 268 seconds)
2022-10-19 21:44:01 +0000 <dminuoso> moonsheep: You can use unsafeUseAsCString or unsafeUseAsCStringLen
2022-10-19 21:44:16 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-10-19 21:46:45 +0000 <dminuoso> moonsheep: Just to avoid confusion, you want a polymorphic `Storable a` out of this, right?
2022-10-19 21:47:26 +0000 <dminuoso> That, is something of type `forall a. Storable a => a`?
2022-10-19 21:47:43 +0000mikoto-chan(~mikoto-ch@85-76-45-203-nat.elisa-mobile.fi) (Ping timeout: 255 seconds)
2022-10-19 21:48:03 +0000 <dminuoso> davean: Okay, so I guess there's really no good way around ghc-prim then.
2022-10-19 21:48:25 +0000 <davean> dminuoso: GHC prim is what makes magic hash run
2022-10-19 21:48:38 +0000 <dminuoso> Well, GHC.Exts already exposes quite a few utilities
2022-10-19 21:48:45 +0000 <dminuoso> But its missing the crucial wordToWord64# primitive
2022-10-19 21:49:20 +0000 <dminuoso> In base-4.15.0.0 anywayu
2022-10-19 21:49:36 +0000mikoto-chan(~mikoto-ch@193.185.223.3)
2022-10-19 21:50:53 +0000 <davean> dminuoso: Yah, GHC.Exts is about extensions, not really this sort of thing
2022-10-19 21:52:58 +0000 <dminuoso> davean: Ugh hold on! I cant just pick ghc-prim, its linked to the installed ghc.
2022-10-19 21:53:06 +0000 <moonsheep> dminuoso: yep, I'd like to get a storable of any type
2022-10-19 21:53:13 +0000 <dminuoso> So ghc-prim has wordToWord64# only since 0.9
2022-10-19 21:53:38 +0000 <dminuoso> moonsheep: You can use unsafeUseAsCStringLen + castPtr.
2022-10-19 21:53:42 +0000 <dminuoso> moonsheep: Will that suffice?
2022-10-19 21:53:49 +0000 <moonsheep> oh I assumed I'd have to use something like peekElemOff
2022-10-19 21:53:51 +0000 <moonsheep> what is castPtr?
2022-10-19 21:54:00 +0000 <dminuoso> castPtr :: Ptr a -> Ptr b
2022-10-19 21:54:28 +0000 <dminuoso> With unsafeUseAsCStringLen you can get a Ptr to the internal buffer, and with castPtr you can just reinterpret cast the byte buffer as anything you want
2022-10-19 21:54:45 +0000 <moonsheep> isn't that... a bit unsafe though?
2022-10-19 21:54:52 +0000 <dminuoso> Not any less safe than what you're asking.
2022-10-19 21:54:55 +0000 <moonsheep> also is it more efficient than using the storable interface?
2022-10-19 21:55:02 +0000 <moonsheep> right fair enough
2022-10-19 21:55:34 +0000 <dminuoso> moonsheep: The generic interface you want is called `Ptr` really.
2022-10-19 21:55:50 +0000 <dminuoso> That is, a `Ptr S` for an arbitrary choice of S is a kind of `forall a. Storable a => a`
2022-10-19 21:55:52 +0000 <moonsheep> hmm right
2022-10-19 21:55:53 +0000 <moonsheep> thanks
2022-10-19 21:56:10 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-10-19 21:56:34 +0000 <dminuoso> moonsheep: Note that you cant safely return the ptr from unsafeUseAsCStringLen, you must memcpy it out.
2022-10-19 21:56:47 +0000 <dminuoso> (or just keep it inside the continuation without returning)
2022-10-19 21:57:39 +0000 <moonsheep> wait does that mean I can't castPtr it?
2022-10-19 21:57:43 +0000 <moonsheep> do I have to memcpy it?
2022-10-19 21:58:20 +0000coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-10-19 21:59:34 +0000 <dminuoso> moonsheep: No, but Im entirely unsure how safe you will be if you do something like: `ptr <- unsafeUseAsCStringLen (\(ptr, len) -> pure ptr)`
2022-10-19 21:59:40 +0000 <dminuoso> Because this will break referential transparency entirely
2022-10-19 22:00:05 +0000 <dminuoso> (Well in fact any modification to that ptr will break referential transparency, even inside the continuation.
2022-10-19 22:00:13 +0000 <moonsheep> ah well I don't mean to do that
2022-10-19 22:00:15 +0000 <dminuoso> So if you want to modify it, memcpy it first into a fresh buffer
2022-10-19 22:00:28 +0000 <dminuoso> But if you just want to reinterpret and read from it, its all good.
2022-10-19 22:00:41 +0000 <dminuoso> Even if you extract the ptr from the continuation
2022-10-19 22:01:33 +0000 <moonsheep> right
2022-10-19 22:02:05 +0000 <moonsheep> since everything is immutable in haskell, the second I return an polymorphic type from the function it's basically read-only right?
2022-10-19 22:02:22 +0000 <dminuoso> No?
2022-10-19 22:02:31 +0000Feuermagier(~Feuermagi@user/feuermagier) (Quit: Leaving)
2022-10-19 22:02:38 +0000 <dminuoso> Im a bit unsure what makes you think there's any relationship between polymorphic types and read-only.
2022-10-19 22:03:06 +0000Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org)
2022-10-19 22:03:18 +0000 <geekosaur> ByteString assumes it's safe to modify stuff directly because it knows when there's only one reference to it. you're in a position to break that
2022-10-19 22:03:22 +0000 <geekosaur> (iirc)
2022-10-19 22:03:42 +0000 <moonsheep> dminuoso: well it doesn't really matter that it's polymorphic
2022-10-19 22:03:49 +0000 <geekosaur> just casting to something else does not change this
2022-10-19 22:03:49 +0000 <moonsheep> any value in haskell is immutable right?
2022-10-19 22:03:55 +0000 <dminuoso> moonsheep: sort of..
2022-10-19 22:04:34 +0000 <dminuoso> moonsheep: Thats precisely what Im getting at. unsafeUseAsCStringLen lets you violate that mutability and break referential transparency in strange ways. That's why there's an `unsafe` tagged to its name.
2022-10-19 22:04:59 +0000 <dminuoso> But in the absence of unsafe primitives *values* themselves are immutable
2022-10-19 22:05:07 +0000 <moonsheep> right, but if I don't mutate it within the function, then it's fine, no?
2022-10-19 22:05:21 +0000 <moonsheep> and since I don't plan to mutate it I should be fine, is that correct?
2022-10-19 22:05:24 +0000 <dminuoso> Well, and as long as you dont do any memory access errors. :)
2022-10-19 22:05:26 +0000 <dminuoso> But yeah
2022-10-19 22:05:33 +0000 <dminuoso> So if you do something like:
2022-10-19 22:05:35 +0000 <moonsheep> right, all I wanted to hear :)
2022-10-19 22:06:06 +0000 <geekosaur> doesn't ghc optimize to a mutation when it knows there's only one copy, which this would break?
2022-10-19 22:06:17 +0000 <dminuoso> unsafeUseAsCStringLen (\(ptr, len) -> peek ((castPtr ptr) :: Ptr Double))
2022-10-19 22:06:29 +0000 <moonsheep> oh thanks
2022-10-19 22:06:31 +0000 <dminuoso> This is in principle fine (as long as you dont do out-of-bound reads for example
2022-10-19 22:06:44 +0000 <dminuoso> geekosaur: Clean does that.
2022-10-19 22:07:20 +0000Topsi(~Topsi@dyndsl-095-033-094-034.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2022-10-19 22:08:00 +0000mikoto-chan(~mikoto-ch@193.185.223.3) (Ping timeout: 252 seconds)
2022-10-19 22:08:03 +0000 <dminuoso> Never heard of GHC doing similar mutation-instead-of-copy
2022-10-19 22:08:23 +0000 <geekosaur> thought that was list fusion
2022-10-19 22:08:38 +0000 <geekosaur> not just not creating a new list but also not creating new list items
2022-10-19 22:08:46 +0000 <dminuoso> Do you mean the build/foldr RULE?
2022-10-19 22:08:46 +0000 <geekosaur> just mutating in place
2022-10-19 22:09:02 +0000 <geekosaur> one's the rule, the other's the runtime iirc
2022-10-19 22:09:16 +0000 <dminuoso> Cool, first time Im hearding of this
2022-10-19 22:09:19 +0000 <dminuoso> *hearing
2022-10-19 22:09:32 +0000 <dminuoso> Sorry, my chair position is slightly off, which causes me to mispress keys constantly
2022-10-19 22:09:36 +0000moonsheep(~moonsheep@user/moonsheep) ()
2022-10-19 22:09:56 +0000 <geekosaur> since the runtime can tell there's only one reference it can mutate it. otherwise you'd still be creating new values even if you're not adding them to new lists. at least that's my understanding
2022-10-19 22:10:25 +0000 <geekosaur> there are limits to it but it exists, as I understand it
2022-10-19 22:10:34 +0000 <dminuoso> If you find details, let me know
2022-10-19 22:10:41 +0000 <dminuoso> Im very curious
2022-10-19 22:10:53 +0000 <geekosaur> I think Clean has fewer limits because it can do a better job of recognizing when only one reference to a value exists
2022-10-19 22:13:31 +0000 <geekosaur> mm, I'm poking around and it certainly seems to be false in the general case 😞
2022-10-19 22:13:32 +0000caryhartline(~caryhartl@2600:1700:2d0:8d30:5cd5:afa2:55e9:2fce) (Quit: caryhartline)
2022-10-19 22:14:06 +0000zeenk(~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494)
2022-10-19 22:16:03 +0000 <geekosaur> okay, apparently it's not ghc itself but list/stream fusion
2022-10-19 22:16:13 +0000 <geekosaur> so it would be related to build/foldr
2022-10-19 22:16:32 +0000michalz(~michalz@185.246.207.200) (Remote host closed the connection)
2022-10-19 22:18:46 +0000 <dminuoso> davean: By the way, Im beginning to understand that what Im asking simply does not exist. :(
2022-10-19 22:22:27 +0000 <dminuoso> And there's some really disturbing things in ghc-prim
2022-10-19 22:29:35 +0000jmdaemon(~jmdaemon@user/jmdaemon)
2022-10-19 22:31:53 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-10-19 22:34:06 +0000 <davean> dminuoso: well, the idea of actually sized prims is recent
2022-10-19 22:34:52 +0000 <davean> Curious what disturbes you
2022-10-19 22:35:41 +0000 <dminuoso> Is there no way to stuff a Word64# into a Word#? Or can I just unsafeCoerce# this?
2022-10-19 22:36:08 +0000 <EvanR> squint, what if Word# is too small
2022-10-19 22:36:27 +0000 <hpc> what if Word# is too large, even
2022-10-19 22:37:05 +0000 <EvanR> you don't want it jumbling around when I'm driving
2022-10-19 22:37:19 +0000 <hpc> is there a way to limit something to building on 64-bit only?
2022-10-19 22:37:26 +0000 <davean> dminuoso: In earlier version before there was sizing, you want extendWord16#
2022-10-19 22:37:28 +0000 <davean> etc
2022-10-19 22:37:30 +0000 <dminuoso> EvanR: Would you even have a Word64 type on a 32-bit machine?
2022-10-19 22:37:41 +0000 <davean> (and narrowWord16#)
2022-10-19 22:37:44 +0000 <EvanR> interesting point
2022-10-19 22:37:46 +0000 <davean> but we changed to new stuff
2022-10-19 22:37:55 +0000 <dminuoso> davean: Yeah, but these didnt exist for Word64#
2022-10-19 22:37:59 +0000 <davean> dminuoso: yes, you would have a Word64 type on a 32 bit machine
2022-10-19 22:38:20 +0000 <dminuoso> davean: Thats hard to believe, because all the sized types were just wrappers on native words.
2022-10-19 22:38:25 +0000 <dminuoso> This just got changed in 9.2
2022-10-19 22:38:27 +0000 <EvanR> er I took that to mean Word64#
2022-10-19 22:41:31 +0000 <dminuoso> davean: either way, there's just no primops for extending or narrowing from/into 64 bit types in base-4.15.0.0 or earlier.
2022-10-19 22:41:36 +0000 <dminuoso> I feel like I must be missing something
2022-10-19 22:41:58 +0000 <dminuoso> Should check what a fromIntegral from Word to Word64 really does
2022-10-19 22:45:50 +0000 <dminuoso> do_word = \ (x_a1z8 :: Word) -> case x_a1z8 of { W# x#_a1za -> GHC.Word.W64# x#_a1za }
2022-10-19 22:46:08 +0000 <dminuoso> That suspicously looks unsafeCoerce#able
2022-10-19 22:46:29 +0000 <dminuoso> What would this do on a 32 bit system though?
2022-10-19 22:46:49 +0000 <EvanR> I ask everyone on the plane if anyone has a 32 bit computer
2022-10-19 22:47:57 +0000 <dminuoso> Also curious, why is there no type annotation for x#_a1za?
2022-10-19 22:48:04 +0000 <dminuoso> Isnt everything explicitly typed in core?
2022-10-19 22:48:58 +0000 <EvanR> would a type sig be redundant because W# is monomorphic constructor
2022-10-19 22:49:42 +0000 <dminuoso> I wonder whether perhaps theres some excemption about primitive types
2022-10-19 22:51:47 +0000 <dminuoso> https://gitlab.haskell.org/ghc/ghc/-/issues/17377
2022-10-19 22:53:47 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-10-19 22:57:53 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 268 seconds)
2022-10-19 22:57:55 +0000thegeekinside(~thegeekin@189.180.97.156) (Ping timeout: 268 seconds)
2022-10-19 22:58:43 +0000 <dminuoso> Ive been helped in another place.
2022-10-19 22:59:32 +0000 <dminuoso> So on 64 bit systems you can just unsafeCoerce#, and for 32 bit systems there's GHC.IntWord64 which provides an FFI call wordToWord64#
2022-10-19 22:59:50 +0000axeman(~quassel@2a02:8109:a380:78:5151:14f6:9d87:4a52)
2022-10-19 23:03:44 +0000beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-10-19 23:06:20 +0000jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-10-19 23:06:47 +0000jonathanx_(~jonathan@178.174.176.109) (Read error: Connection reset by peer)
2022-10-19 23:09:05 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 23:09:57 +0000vglfr(~vglfr@145.224.100.100) (Ping timeout: 252 seconds)
2022-10-19 23:13:03 +0000Tuplanolla(~Tuplanoll@91-159-69-245.elisa-laajakaista.fi) (Quit: Leaving.)
2022-10-19 23:13:42 +0000talismanick(~talismani@96.71.204.25)
2022-10-19 23:14:12 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-10-19 23:26:20 +0000talismanick(~talismani@96.71.204.25) (Remote host closed the connection)
2022-10-19 23:26:41 +0000talismanick(~talismani@96.71.204.25)
2022-10-19 23:30:44 +0000nate1(~nate@98.45.169.16)
2022-10-19 23:35:12 +0000nate1(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-10-19 23:39:37 +0000 <EvanR> is there a lightweight functional pearl for conjuring a supply of unique names in an algorithm
2022-10-19 23:40:50 +0000 <EvanR> in one paper there's this whole thing with an impure generator going on but really
2022-10-19 23:40:54 +0000acidjnk_new(~acidjnk@p200300d6e7137a877551a7e8fd85f50e.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-10-19 23:43:51 +0000mmhat(~mmh@p200300f1c73377eeee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7)
2022-10-19 23:44:11 +0000axeman(~quassel@2a02:8109:a380:78:5151:14f6:9d87:4a52) (Ping timeout: 272 seconds)
2022-10-19 23:45:10 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-10-19 23:45:39 +0000zeenk(~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Quit: Konversation terminated!)
2022-10-19 23:51:09 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds)
2022-10-19 23:52:23 +0000 <geekosaur> what else were you expecting? if they need to be unique then you need to keep a seed somewhere
2022-10-19 23:53:02 +0000 <dminuoso> EvanR: A functional pearl? Like `s -> (s, t)`?
2022-10-19 23:54:31 +0000 <geekosaur> well, yes, there is State, but if if that were enough I'd assume EvanR wouldn't be asking
2022-10-19 23:54:37 +0000rockystone(~rocky@user/rockymarine) (Ping timeout: 268 seconds)
2022-10-19 23:55:01 +0000 <dminuoso> Im not entirely sure what they are asking for, then.
2022-10-19 23:55:14 +0000freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds)
2022-10-19 23:57:22 +0000 <jackdk> I would probably newtype over state in a way that doesn't expose the standard operations and only allows a "next gensym".
2022-10-19 23:57:45 +0000rockystone(~rocky@user/rockymarine)
2022-10-19 23:58:43 +0000 <EvanR> yes "gensym" is part of the lore on doing this without State monads
2022-10-19 23:59:22 +0000 <EvanR> why would you want to not use State monads? I guess at that time in history no one had heard of a State monad. Today, it's just a pain in the ass to shoe horn into pure code
2022-10-19 23:59:46 +0000 <dminuoso> the idea of a state monad is as old as lambda calculus.
2022-10-19 23:59:59 +0000 <dminuoso> you just didnt call it monad back then.