2025/11/07

2025-11-07 00:00:04 +0100Zemy(~Zemy@2600:100c:b021:2c99:34f5:91ff:fe7f:6e5b)
2025-11-07 00:00:39 +0100Zemy_(~Zemy@24-155-2-226.static.grandenetworks.net)
2025-11-07 00:00:42 +0100Zemy(~Zemy@2600:100c:b021:2c99:34f5:91ff:fe7f:6e5b) (Read error: Connection reset by peer)
2025-11-07 00:00:58 +0100Zemy(~Zemy@2600:100c:b021:2c99:a49a:c7ff:fe57:7568)
2025-11-07 00:01:12 +0100Core4520(~Zemy@2600:100c:b021:2c99:e8ef:cdff:fefd:214c) (Ping timeout: 260 seconds)
2025-11-07 00:04:07 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds)
2025-11-07 00:04:34 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 00:04:54 +0100Zemy_(~Zemy@24-155-2-226.static.grandenetworks.net) (Ping timeout: 256 seconds)
2025-11-07 00:05:20 +0100Fijxu_(~Fijxu@user/fijxu) (Ping timeout: 245 seconds)
2025-11-07 00:08:46 +0100Fijxu(~Fijxu@user/fijxu) fijxu
2025-11-07 00:13:08 +0100Tuplanolla(~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) (Quit: Leaving.)
2025-11-07 00:13:09 +0100tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer)
2025-11-07 00:13:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 00:14:13 +0100Zemy_(~Zemy@mobile-107-80-206-18.mycingular.net)
2025-11-07 00:15:11 +0100Zemy(~Zemy@2600:100c:b021:2c99:a49a:c7ff:fe57:7568) (Read error: Connection reset by peer)
2025-11-07 00:15:31 +0100Zemy(~Zemy@2600:100c:b021:2c99:3c31:bff:fe68:9247)
2025-11-07 00:16:02 +0100 <monochrom> dolio: Haha I didn't think of that.
2025-11-07 00:18:42 +0100Zemy_(~Zemy@mobile-107-80-206-18.mycingular.net) (Ping timeout: 260 seconds)
2025-11-07 00:20:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 00:30:23 +0100Zemy_(~Zemy@72.178.108.235)
2025-11-07 00:30:49 +0100emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2025-11-07 00:31:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 00:33:52 +0100Zemy(~Zemy@2600:100c:b021:2c99:3c31:bff:fe68:9247) (Ping timeout: 260 seconds)
2025-11-07 00:36:27 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-07 00:41:02 +0100trickard_(~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 244 seconds)
2025-11-07 00:43:16 +0100Googulator99Googulator
2025-11-07 00:43:23 +0100trickard_(~trickard@cpe-53-98-47-163.wireline.com.au)
2025-11-07 00:43:59 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-11-07 00:47:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 00:49:06 +0100tromp(~textual@2001:1c00:3487:1b00:d577:2751:e380:cb37) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-07 00:52:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-07 00:53:32 +0100tromp(~textual@2001:1c00:3487:1b00:d577:2751:e380:cb37)
2025-11-07 00:57:56 +0100Square3(~Square@user/square) Square
2025-11-07 01:00:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 01:02:07 +0100Square2(~Square4@user/square) (Ping timeout: 264 seconds)
2025-11-07 01:02:09 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-11-07 01:04:28 +0100tromp(~textual@2001:1c00:3487:1b00:d577:2751:e380:cb37) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-07 01:05:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 01:11:07 +0100annamalai(~annamalai@157.32.112.75) (Ping timeout: 264 seconds)
2025-11-07 01:14:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 01:19:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 01:19:35 +0100trickard_trickard
2025-11-07 01:30:08 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 240 seconds)
2025-11-07 01:30:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 01:35:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 01:40:12 +0100variant(~variant@136.61.39.172)
2025-11-07 01:44:49 +0100xff0x(~xff0x@2405:6580:b080:900:c1bd:3ff8:8b46:e15a) (Ping timeout: 260 seconds)
2025-11-07 01:46:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 01:47:28 +0100acidjnk(~acidjnk@p200300d6e717199501855715c4be6f96.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2025-11-07 01:51:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-11-07 01:51:11 +0100 <monochrom> NamedFieldPuns doesn't allow me to write like "f Ctor{field@pattern} = ...". :(
2025-11-07 01:51:31 +0100 <monochrom> It's OK, I resorted to "f Ctor{field=field@pattern} = ..." :)
2025-11-07 01:55:31 +0100pabs3(~pabs3@user/pabs3) (Ping timeout: 264 seconds)
2025-11-07 01:56:57 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-11-07 02:02:03 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-11-07 02:02:04 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 02:07:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-07 02:08:17 +0100pabs3(~pabs3@user/pabs3) pabs3
2025-11-07 02:09:17 +0100otto_s(~user@p4ff27ba5.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2025-11-07 02:10:50 +0100otto_s(~user@p4ff270cb.dip0.t-ipconnect.de)
2025-11-07 02:17:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 02:22:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 02:25:24 +0100ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2025-11-07 02:33:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 02:34:15 +0100Square2(~Square4@user/square) Square
2025-11-07 02:36:37 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 264 seconds)
2025-11-07 02:36:55 +0100Square3(~Square@user/square) (Ping timeout: 264 seconds)
2025-11-07 02:38:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-07 02:39:55 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-11-07 02:49:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 02:54:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-07 02:55:43 +0100poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-11-07 02:58:11 +0100ubert1(~Thunderbi@178.165.182.105.wireless.dyn.drei.com) ubert
2025-11-07 02:58:48 +0100poscat(~poscat@user/poscat) poscat
2025-11-07 02:59:25 +0100trickard__(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 02:59:30 +0100trickard(~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 244 seconds)
2025-11-07 02:59:44 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-11-07 02:59:53 +0100trickard__trickard
2025-11-07 03:00:16 +0100ubert(~Thunderbi@178.165.186.48.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
2025-11-07 03:00:16 +0100ubert1ubert
2025-11-07 03:05:09 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 03:07:34 +0100Googulator64(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 03:08:30 +0100Nachtgespenst(~user@user/siracusa) siracusa
2025-11-07 03:10:35 +0100qqe(~qqq@185.54.21.203)
2025-11-07 03:10:35 +0100Googulator64(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Client Quit)
2025-11-07 03:10:40 +0100Googulator76(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 03:10:57 +0100dtman34(~dtman34@c-73-242-68-179.hsd1.mn.comcast.net) (Ping timeout: 250 seconds)
2025-11-07 03:11:01 +0100Googulator(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Ping timeout: 250 seconds)
2025-11-07 03:11:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 03:14:00 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc) (Remote host closed the connection)
2025-11-07 03:14:22 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc)
2025-11-07 03:14:41 +0100bggd(~bgg@2a01:e0a:819:1510:488d:f1b1:72a6:5bef)
2025-11-07 03:17:05 +0100variant(~variant@136.61.39.172) (Ping timeout: 250 seconds)
2025-11-07 03:23:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 03:26:32 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds)
2025-11-07 03:28:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 03:30:34 +0100qqe(~qqq@185.54.21.203) (Quit: Lost terminal)
2025-11-07 03:31:06 +0100synchrom1(~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) synchromesh
2025-11-07 03:33:55 +0100synchromesh(~john@2406:5a00:2412:2c00:752a:c037:4485:f417) (Ping timeout: 264 seconds)
2025-11-07 03:38:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 03:39:49 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 246 seconds)
2025-11-07 03:44:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 03:54:47 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 03:59:20 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 04:00:46 +0100myxos(~myxos@2001:579:8380:f20:469a:adbb:d673:fb5b) myxokephale
2025-11-07 04:10:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 04:15:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 04:15:42 +0100Googulator62(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 04:15:42 +0100Googulator76(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed)
2025-11-07 04:26:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 04:27:58 +0100connrs(~connrs@user/connrs) (Read error: Connection reset by peer)
2025-11-07 04:28:29 +0100connrs(~connrs@user/connrs) connrs
2025-11-07 04:31:22 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 04:33:58 +0100anderson(anderson@user/anderson) (Ping timeout: 260 seconds)
2025-11-07 04:34:38 +0100td_(~td@i53870901.versanet.de) (Ping timeout: 256 seconds)
2025-11-07 04:36:21 +0100td_(~td@i5387093B.versanet.de)
2025-11-07 04:40:18 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 256 seconds)
2025-11-07 04:42:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 04:42:51 +0100Square2(~Square4@user/square) (Ping timeout: 252 seconds)
2025-11-07 04:44:16 +0100sam113101(~sam@modemcable200.189-202-24.mc.videotron.ca) (Quit: WeeChat 4.7.0)
2025-11-07 04:45:33 +0100sam113101(~sam@modemcable200.189-202-24.mc.videotron.ca) sam113101
2025-11-07 04:47:14 +0100anderson(anderson@user/anderson) anderson
2025-11-07 04:48:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 04:51:35 +0100haskellbridge(~hackager@96.28.224.214) (Remote host closed the connection)
2025-11-07 04:52:21 +0100haskellbridge(~hackager@96.28.224.214) hackager
2025-11-07 04:52:21 +0100ChanServ+v haskellbridge
2025-11-07 04:57:44 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-11-07 04:58:16 +0100annamalai(~annamalai@157.33.208.56) annamalai
2025-11-07 05:00:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 05:04:57 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 05:15:46 +0100Googulator55(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 05:15:46 +0100Googulator62(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed)
2025-11-07 05:15:57 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 05:21:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 05:32:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 05:37:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-11-07 05:45:44 +0100Googulator41(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 05:45:47 +0100Googulator55(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed)
2025-11-07 05:48:06 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 05:52:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 05:58:15 +0100trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 05:58:29 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 06:00:36 +0100Googulator41(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed)
2025-11-07 06:00:41 +0100Googulator75(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 06:01:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 06:06:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 06:17:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 06:20:41 +0100Googulator75(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed)
2025-11-07 06:20:44 +0100Googulator52(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 06:24:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 06:28:38 +0100weary-traveler(~user@user/user363627) user363627
2025-11-07 06:33:10 +0100qqe(~qqq@185.54.21.203)
2025-11-07 06:35:06 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 06:39:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 06:50:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 06:55:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 07:00:42 +0100Googulator52(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed)
2025-11-07 07:00:47 +0100Googulator78(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 07:06:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 07:11:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-07 07:13:27 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 260 seconds)
2025-11-07 07:15:23 +0100Googulator78(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed)
2025-11-07 07:15:39 +0100Googulator78(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 07:19:49 +0100califax(~califax@user/califx) (Remote host closed the connection)
2025-11-07 07:20:05 +0100califax(~califax@user/califx) califx
2025-11-07 07:22:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 07:27:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 07:29:25 +0100qqe(~qqq@185.54.21.203) (Quit: Lost terminal)
2025-11-07 07:33:49 +0100Googulator78(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed)
2025-11-07 07:34:02 +0100Googulator78(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 07:35:34 +0100Googulator78(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Client Quit)
2025-11-07 07:35:40 +0100Googulator43(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 07:38:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 07:38:35 +0100synchrom1(~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) (Read error: Connection reset by peer)
2025-11-07 07:39:46 +0100synchromesh(~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) synchromesh
2025-11-07 07:43:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 07:50:56 +0100Googulator30(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu)
2025-11-07 07:51:16 +0100Googulator43(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed)
2025-11-07 07:53:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 07:58:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-11-07 07:59:04 +0100takuan(~takuan@d8D86B9E9.access.telenet.be)
2025-11-07 08:00:21 +0100biberu(~biberu@user/biberu) biberu
2025-11-07 08:02:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 08:06:18 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-11-07 08:07:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-07 08:11:26 +0100fp(~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) fp
2025-11-07 08:12:11 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 08:12:50 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 08:14:08 +0100fp(~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Remote host closed the connection)
2025-11-07 08:18:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 08:19:16 +0100ft(~ft@p4fc2aaeb.dip0.t-ipconnect.de) (Quit: leaving)
2025-11-07 08:22:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 08:33:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 08:37:19 +0100Googulator30(~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Ping timeout: 250 seconds)
2025-11-07 08:39:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 08:46:52 +0100__monty__(~toonn@user/toonn) toonn
2025-11-07 08:49:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 08:53:20 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds)
2025-11-07 08:54:36 +0100tromp(~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca)
2025-11-07 08:54:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-07 09:03:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 09:06:01 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 246 seconds)
2025-11-07 09:08:11 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-11-07 09:10:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 09:14:17 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-11-07 09:20:34 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-11-07 09:21:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 09:25:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 09:28:34 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 09:28:48 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 09:36:55 +0100Zemy_(~Zemy@72.178.108.235) (Ping timeout: 240 seconds)
2025-11-07 09:37:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 09:42:20 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-07 09:46:57 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-11-07 09:52:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 09:57:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-07 10:00:08 +0100tromp(~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-07 10:04:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 10:05:00 +0100Zemy(~Zemy@2600:100c:b0a9:5d13:c885:f7ff:fe70:b995)
2025-11-07 10:05:36 +0100Zemy_(~Zemy@72.178.108.235)
2025-11-07 10:06:30 +0100Zemy(~Zemy@2600:100c:b0a9:5d13:c885:f7ff:fe70:b995) (Read error: Connection reset by peer)
2025-11-07 10:07:06 +0100Zemy(~Zemy@2600:100c:b0a9:5d13:9416:6bff:fe45:7075)
2025-11-07 10:07:06 +0100Zemy_(~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-11-07 10:07:38 +0100Zemy_(~Zemy@72.178.108.235)
2025-11-07 10:09:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 10:11:39 +0100Zemy(~Zemy@2600:100c:b0a9:5d13:9416:6bff:fe45:7075) (Ping timeout: 265 seconds)
2025-11-07 10:15:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 10:15:28 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 10:15:40 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 10:16:45 +0100myxokephale(~myxos@2001:579:8380:f20:f473:5072:5243:c7a6) myxokephale
2025-11-07 10:19:10 +0100myxos(~myxos@2001:579:8380:f20:469a:adbb:d673:fb5b) (Ping timeout: 246 seconds)
2025-11-07 10:19:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 10:20:13 +0100Zemy_(~Zemy@72.178.108.235) (Ping timeout: 246 seconds)
2025-11-07 10:23:01 +0100Zemy(~Zemy@72.178.108.235)
2025-11-07 10:26:32 +0100kuribas(~user@2a02:1808:d1:be31:ac10:dd83:cea2:1717) kuribas
2025-11-07 10:31:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 10:32:40 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-11-07 10:33:13 +0100acidjnk(~acidjnk@2003:d6:e717:1922:4028:f2f:de8c:479) acidjnk
2025-11-07 10:36:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 10:46:38 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 10:47:45 +0100 <kuribas> Man, linter suggestions are sometimes plain bad: eta reduce lookup () x = Just x
2025-11-07 10:47:54 +0100 <kuribas> "lookup () = Just" is more obfuscated
2025-11-07 10:50:25 +0100 <kuribas> Is there a shorter way to say asum (map (\x -> ...maybe...) elems)
2025-11-07 10:50:34 +0100 <lortabac> the most annoying one for me is "Use newtype instead of data"
2025-11-07 10:50:47 +0100 <__monty__> Yeah, seems like personal preference to me.
2025-11-07 10:50:49 +0100 <lortabac> there is no way I can accidentally mix up newtype and data
2025-11-07 10:50:59 +0100 <lortabac> I don't see why this warning exists
2025-11-07 10:52:00 +0100 <__monty__> It's an optimization, I don't think single-constructor data has any advantages over newtype?
2025-11-07 10:52:17 +0100 <kuribas> lortabac: right, that one
2025-11-07 10:52:29 +0100 <kuribas> __monty__: yes, lazyness.
2025-11-07 10:53:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 10:53:32 +0100 <Leary> kuribas: `find`
2025-11-07 10:54:20 +0100 <__monty__> Maybe it's a matter of reducing your use of the linting tool rather?
2025-11-07 10:55:15 +0100 <Leary> Also, linter defaults are just defaults. You're supposed to configure away the hints you don't care for.
2025-11-07 10:55:29 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds)
2025-11-07 10:56:50 +0100 <kuribas> :t find
2025-11-07 10:56:51 +0100 <lambdabot> Foldable t => (a -> Bool) -> t a -> Maybe a
2025-11-07 10:57:02 +0100 <__monty__> It's slightly annoying when you have to litter the codebase with comments to disable lints.
2025-11-07 10:57:16 +0100 <kuribas> Leary: find isJust ?
2025-11-07 10:57:49 +0100 <kuribas> Leary: but I'll still need to map.
2025-11-07 10:57:54 +0100 <lortabac> kuribas: listToMaybe (mapMaybe (\x -> ...) elems)
2025-11-07 10:57:58 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-11-07 10:58:17 +0100 <lortabac> not shorter but a little less exotic than 'asum'
2025-11-07 11:01:17 +0100Zemy_(~Zemy@2600:100c:b0a1:9f27:6026:a3ff:fe87:99d9)
2025-11-07 11:01:17 +0100Zemy(~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-11-07 11:01:21 +0100 <Leary> :t \f -> getFirst . foldMap (First . f)
2025-11-07 11:01:22 +0100 <lambdabot> Foldable t => (a1 -> Maybe a2) -> t a1 -> Maybe a2
2025-11-07 11:02:37 +0100chele(~chele@user/chele) chele
2025-11-07 11:02:40 +0100Zemy(~Zemy@72.178.108.235)
2025-11-07 11:02:48 +0100 <Leary> :t \f -> getAlt . foldMap (Alt . f)
2025-11-07 11:02:50 +0100 <lambdabot> forall k (t :: * -> *) (f :: k -> *) (a1 :: k) a2. (Foldable t, Monoid (Alt f a1)) => (a2 -> f a1) -> t a2 -> f a1
2025-11-07 11:03:34 +0100 <lortabac> I have the impression that I spend most of my life opting out of things. I wished stupid warnings wasn't part of that
2025-11-07 11:04:02 +0100 <kuribas> Sometimes I wonder if all these abstractions really make programs easier and more robust.
2025-11-07 11:04:06 +0100 <kuribas> It's mostly fun.
2025-11-07 11:04:29 +0100 <lortabac> maybe 90% fun and 10% effectiveness?
2025-11-07 11:04:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 11:05:37 +0100Zemy_(~Zemy@2600:100c:b0a1:9f27:6026:a3ff:fe87:99d9) (Ping timeout: 260 seconds)
2025-11-07 11:05:43 +0100 <kuribas> THe biggest advantage IMO is ADTs, pattern matching, and purity...
2025-11-07 11:09:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-11-07 11:10:18 +0100 <__monty__> :t \f -> foldr ((<|>) . f) empty -- Technically shorter, I suppose.
2025-11-07 11:10:19 +0100 <lambdabot> (Foldable t, Alternative f) => (a1 -> f a2) -> t a1 -> f a2
2025-11-07 11:10:41 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-11-07 11:11:05 +0100fp(~Thunderbi@130.233.70.136) fp
2025-11-07 11:12:54 +0100 <__monty__> Relude has `asumMap`.
2025-11-07 11:13:26 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
2025-11-07 11:15:25 +0100 <__monty__> And none of the alternatives is actually shorter than `\f -> asum . map f`.
2025-11-07 11:16:41 +0100trickard_trickard
2025-11-07 11:20:27 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 11:25:20 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 11:30:28 +0100itaipu(~itaipu@168.121.97.28) (Ping timeout: 260 seconds)
2025-11-07 11:36:14 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 11:41:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 11:45:40 +0100Zemy_(~Zemy@2600:100c:b0a1:9f27:38d4:16ff:fedd:d703)
2025-11-07 11:45:40 +0100Zemy(~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-11-07 11:46:12 +0100Zemy(~Zemy@72.178.108.235)
2025-11-07 11:49:57 +0100Zemy_(~Zemy@2600:100c:b0a1:9f27:38d4:16ff:fedd:d703) (Ping timeout: 260 seconds)
2025-11-07 11:52:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 11:53:00 +0100Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-11-07 11:53:55 +0100Zemy_(~Zemy@2600:100c:b0a1:9f27:4085:11ff:fe99:8799)
2025-11-07 11:53:56 +0100Zemy(~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-11-07 11:54:29 +0100Zemy(~Zemy@72.178.108.235)
2025-11-07 11:56:11 +0100Core5925(~Zemy@2600:100c:b0a1:9f27:7060:ffff:fe7d:6622)
2025-11-07 11:56:11 +0100Zemy(~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-11-07 11:56:26 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2025-11-07 11:56:44 +0100Zemy(~Zemy@72.178.108.235)
2025-11-07 11:57:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 11:58:13 +0100Zemy_(~Zemy@2600:100c:b0a1:9f27:4085:11ff:fe99:8799) (Ping timeout: 246 seconds)
2025-11-07 12:00:53 +0100Core5925(~Zemy@2600:100c:b0a1:9f27:7060:ffff:fe7d:6622) (Ping timeout: 265 seconds)
2025-11-07 12:01:01 +0100trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
2025-11-07 12:01:38 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 12:05:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 12:10:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-11-07 12:15:38 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-07 12:18:01 +0100trickard_trickard
2025-11-07 12:21:11 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 12:26:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 12:36:59 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 12:41:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-11-07 12:43:27 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2025-11-07 12:52:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 12:57:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 13:00:24 +0100 <dminuoso> 09:57:02 __monty__ │ It's slightly annoying when you have to litter the codebase with comments to disable lints.
2025-11-07 13:00:28 +0100 <dminuoso> Reconsider your life choices then.
2025-11-07 13:00:58 +0100 <dminuoso> It feels like some people have become mindless slaves to their linter, rather than just explicitly picking the things they want linting for.
2025-11-07 13:03:59 +0100 <__monty__> I'm talking about lints I want in general, just not in specific instances.
2025-11-07 13:05:22 +0100 <kuribas> dminuoso: you mean you do opt-in, rather than opt-out?
2025-11-07 13:06:05 +0100 <dminuoso> __monty__: Sure, cant you just disable/enable the things in some global linter config?
2025-11-07 13:06:36 +0100 <dminuoso> kuribas: It's slightly deeper than that. I'm just talking about a conscious choice.
2025-11-07 13:06:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 13:06:48 +0100 <dminuoso> Whether that is made implicitly in an opt-out fashion or opt-in is just irrelevant.
2025-11-07 13:07:33 +0100 <kuribas> Yeah, I don't like mindlessly accepting linter choices, even in Python, but my colleage thought me "picky" :)
2025-11-07 13:10:11 +0100 <dminuoso> Every time I meet people using linters they subject themselves to a linter out of some belief that "whatever the linter does" is just "best practices".
2025-11-07 13:10:35 +0100 <dminuoso> Immanuel Kant talked at great lengths about this in in his essay "What is enlightenment"
2025-11-07 13:10:57 +0100 <dminuoso> He just didn't know about linters back then, he surely would have included it had he known.
2025-11-07 13:11:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 13:16:03 +0100[_________](~oos95GWG@user/oos95GWG) (Ping timeout: 260 seconds)
2025-11-07 13:16:03 +0100vulpine(xfnw@user/meow/xfnw) (Ping timeout: 260 seconds)
2025-11-07 13:16:10 +0100 <kuribas> I am fine with a curated list decided by the team.
2025-11-07 13:16:37 +0100[_________](~oos95GWG@user/oos95GWG) oos95GWG
2025-11-07 13:21:26 +0100Square3(~Square@user/square) Square
2025-11-07 13:22:09 +0100Square2(~Square4@user/square) Square
2025-11-07 13:22:27 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 13:22:47 +0100 <lortabac> the fact that HLint is configurable doesn't make the defaults less bad
2025-11-07 13:23:33 +0100 <kuribas> agreed
2025-11-07 13:25:25 +0100wbrawner(~wbrawner@129.146.105.153) (Remote host closed the connection)
2025-11-07 13:25:36 +0100wbrawner(~wbrawner@129.146.105.153) wbrawner
2025-11-07 13:27:00 +0100gorignak(~gorignak@user/gorignak) (Ping timeout: 245 seconds)
2025-11-07 13:27:59 +0100trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 13:28:13 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 13:28:23 +0100vulpine(xfnw@user/meow/xfnw) xfnw
2025-11-07 13:29:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 13:30:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 13:30:42 +0100 <lortabac> There was an article about this but I can't find it anymore. It's a kind of fallacy where people who are expert about a field/tool tend to respond to criticism with "you are doing it the wrong way"
2025-11-07 13:31:47 +0100 <lortabac> which is the right answer of course, but sometimes it's also good to consider how to improve the tool
2025-11-07 13:35:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 13:41:57 +0100 <__monty__> dminuoso: Most of my linting experience is with Pylint and no I don't know of a way to configure it from outside the source files. Don't really see a good way that'd be resilient to refactoring. Can't rely on line numbers for example but even function/method names can change.
2025-11-07 13:42:46 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2025-11-07 13:44:12 +0100kuribas(~user@2a02:1808:d1:be31:ac10:dd83:cea2:1717) (Ping timeout: 244 seconds)
2025-11-07 13:45:47 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 13:51:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 13:51:32 +0100Square2(~Square4@user/square) (Ping timeout: 244 seconds)
2025-11-07 13:52:44 +0100Zemy_(~Zemy@2600:100c:b0a1:9f27:50d3:74ff:fece:a256)
2025-11-07 13:56:25 +0100Zemy(~Zemy@72.178.108.235) (Ping timeout: 264 seconds)
2025-11-07 13:57:37 +0100bggd(~bgg@2a01:e0a:819:1510:488d:f1b1:72a6:5bef) (Remote host closed the connection)
2025-11-07 13:59:46 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2025-11-07 14:00:26 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2025-11-07 14:01:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 14:06:36 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-07 14:07:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 14:08:03 +0100Square2(~Square4@user/square) Square
2025-11-07 14:12:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-07 14:15:34 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-11-07 14:23:13 +0100Zemy(~Zemy@syn-192-154-181-091.biz.spectrum.com)
2025-11-07 14:23:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 14:27:23 +0100Zemy_(~Zemy@2600:100c:b0a1:9f27:50d3:74ff:fece:a256) (Ping timeout: 250 seconds)
2025-11-07 14:28:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 14:36:25 +0100 <Square2> In ghci, why can I do `:info Maybe` but not `:info List`?
2025-11-07 14:37:21 +0100 <tomsmeding> because List does not exist?
2025-11-07 14:37:31 +0100 <haskellbridge> <Morj> You can do ":info []"
2025-11-07 14:38:23 +0100 <tomsmeding> interesting:
2025-11-07 14:38:26 +0100 <tomsmeding> % :i []
2025-11-07 14:38:26 +0100 <yahb2> type List :: * -> * ; data List a = [] | a : [a] ; -- Defined in ‘GHC.Types’ ; instance Traversable [] ; -- Defined in ‘GHC.Internal.Data.Traversable’ ; instance MonadFail [] ; -- Defined in...
2025-11-07 14:38:36 +0100 <tomsmeding> turns out that since GHC 9.6, it prints `data List a` there
2025-11-07 14:38:36 +0100 <int-e> % import GHC.Types
2025-11-07 14:38:36 +0100 <yahb2> <no output>
2025-11-07 14:38:40 +0100 <int-e> % :i List
2025-11-07 14:38:40 +0100 <yahb2> type List :: * -> * ; data List a = [] | a : [a] ; -- Defined in ‘GHC.Types’ ; instance Traversable [] ; -- Defined in ‘GHC.Internal.Data.Traversable’ ; instance MonadFail [] ; -- Defined in...
2025-11-07 14:38:45 +0100 <int-e> see, it works ;-)
2025-11-07 14:38:59 +0100 <tomsmeding> then `:i []` is wrong, because the List should have been qualified
2025-11-07 14:39:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 14:40:26 +0100 <tomsmeding> % :i Data.List.List
2025-11-07 14:40:26 +0100 <yahb2> type List :: * -> * ; data List a = [] | a : [a] ; -- Defined in ‘GHC.Types’ ; instance Traversable [] ; -- Defined in ‘GHC.Internal.Data.Traversable’ ; instance MonadFail [] ; -- Defined in...
2025-11-07 14:40:30 +0100 <tomsmeding> int-e: it's also in Data.List
2025-11-07 14:40:53 +0100 <haskellbridge> <Morj> Are there any libraries to help me write (mostly) the same code for sqlite and postgres? I know of persistent, but I don't really love it
2025-11-07 14:41:55 +0100 <Square2> int-e, nice. Thanks
2025-11-07 14:42:34 +0100 <int-e> tomsmeding: That's new... since 9.10? Odd.
2025-11-07 14:44:09 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 14:44:23 +0100 <haskellbridge> <Morj> My ghci 9.6 doesn't have Data.List.List indeed, but :i [] still refers to some 'List' from who knows where
2025-11-07 14:45:54 +0100 <tomsmeding> Morj: GHC.Types
2025-11-07 14:46:13 +0100 <tomsmeding> hm, 9.10 indeed
2025-11-07 14:50:10 +0100 <int-e> tomsmeding: it was a proposal here: https://github.com/haskell/core-libraries-committee/issues/182
2025-11-07 14:51:24 +0100 <haskellbridge> <Morj> GHC.Types.List exists indeed
2025-11-07 14:55:03 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 14:59:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 15:04:05 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 15:04:17 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 15:04:48 +0100Zemy_(~Zemy@2600:100c:b0ab:d403:d483:98ff:fee4:d9f9)
2025-11-07 15:04:49 +0100Zemy(~Zemy@syn-192-154-181-091.biz.spectrum.com) (Read error: Connection reset by peer)
2025-11-07 15:05:16 +0100Zemy(~Zemy@syn-192-154-181-091.biz.spectrum.com)
2025-11-07 15:08:40 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 15:09:18 +0100Zemy_(~Zemy@2600:100c:b0ab:d403:d483:98ff:fee4:d9f9) (Ping timeout: 256 seconds)
2025-11-07 15:09:44 +0100Zemy_(~Zemy@2600:100c:b0ab:d403:cbc:dbff:fe6f:c62e)
2025-11-07 15:11:25 +0100Zemy(~Zemy@syn-192-154-181-091.biz.spectrum.com) (Ping timeout: 246 seconds)
2025-11-07 15:13:16 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-07 15:15:19 +0100ft(~ft@p4fc2aaeb.dip0.t-ipconnect.de) ft
2025-11-07 15:22:20 +0100Zemy(~Zemy@72.178.108.235)
2025-11-07 15:22:53 +0100 <[exa]> how does one rewrite a continuation-ish computation with a "fmap" in it, like `fmap something . blah $ \x -> ...`, into ContT? (All combinations failed for me so I'm asking)
2025-11-07 15:24:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 15:25:00 +0100 <[exa]> example: https://paste.tomsmeding.com/WfUKO31Y
2025-11-07 15:25:37 +0100 <[exa]> (this is torn out from a mildly over-complicated code, I'll try to materialize a simple example. The `run1` and `run2` is something like `withFileOpen` or so.
2025-11-07 15:25:40 +0100 <[exa]> )
2025-11-07 15:25:44 +0100Zemy_(~Zemy@2600:100c:b0ab:d403:cbc:dbff:fe6f:c62e) (Ping timeout: 256 seconds)
2025-11-07 15:28:34 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 15:30:32 +0100Googulator30(~Googulato@team.broadbit.hu)
2025-11-07 15:30:54 +0100fp(~Thunderbi@130.233.70.136) (Quit: fp)
2025-11-07 15:31:15 +0100fp(~Thunderbi@130.233.70.136) fp
2025-11-07 15:31:46 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-11-07 15:32:04 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 15:32:17 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 15:37:27 +0100Googulator57(~Googulato@team.broadbit.hu)
2025-11-07 15:37:42 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 15:39:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 15:40:41 +0100Googulator30(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 15:42:17 +0100 <Square2> is filter defined in some base class or is made specifically for different data structures?
2025-11-07 15:42:42 +0100 <Square2> it seems to be data structure specific
2025-11-07 15:43:12 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 15:43:18 +0100 <haskellbridge> <Morj> In base it's data-specific. In mono-traversable there is a class for it: https://hackage.haskell.org/package/mono-traversable-1.0.21.0/docs/Data-Sequences.html#v:filter
2025-11-07 15:45:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 15:46:02 +0100Googulator18(~Googulato@team.broadbit.hu)
2025-11-07 15:47:53 +0100 <Square2> oh there's filterM I guess
2025-11-07 15:48:55 +0100Googulator57(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 15:50:40 +0100Googulator94(~Googulato@team.broadbit.hu)
2025-11-07 15:50:41 +0100 <Square2> nvm
2025-11-07 15:54:07 +0100Googulator18(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 15:54:25 +0100Googulator94(~Googulato@team.broadbit.hu) (Client Quit)
2025-11-07 15:54:40 +0100Googulator94(~Googulato@team.broadbit.hu)
2025-11-07 15:55:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 15:55:33 +0100 <lortabac> there is a generalized version in witherable
2025-11-07 15:55:37 +0100 <lortabac> @hackage witherable
2025-11-07 15:55:37 +0100 <lambdabot> https://hackage.haskell.org/package/witherable
2025-11-07 15:56:42 +0100 <lortabac> which takes a different approach from mono-traversable
2025-11-07 15:56:52 +0100 <haskellbridge> <Morj> I like mono-traversable more because it doesn't require functor, so can work on bytestrings. On the other hand they both don't allow Set for different reasons
2025-11-07 15:57:11 +0100trickard_trickard
2025-11-07 15:57:26 +0100 <haskellbridge> <Morj> Wait, since when is Map a Functor? I thought the instance was unlawful
2025-11-07 15:57:31 +0100Anarchos(~Anarchos@91-161-254-16.subs.proxad.net) Anarchos
2025-11-07 15:57:34 +0100 <tomsmeding> it's a functor in the values
2025-11-07 15:57:39 +0100 <tomsmeding> Set is not a fucntor
2025-11-07 15:57:46 +0100 <haskellbridge> <Morj> Ahh you're right
2025-11-07 16:00:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 16:00:19 +0100 <tomsmeding> [exa]: I don't think that's going to work
2025-11-07 16:00:45 +0100 <tomsmeding> consider: run1 "returns" two things: x and the thing that you later swap
2025-11-07 16:00:50 +0100 <tomsmeding> where do they go?
2025-11-07 16:02:53 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-11-07 16:02:56 +0100 <tomsmeding> you're trying to put one of them in the normal in-monad return value of that ContT expression, and the other in the 'r' top-level return value of the ContT computation
2025-11-07 16:03:14 +0100 <tomsmeding> but the latter is constant over the entire ContT computation, so fmap'ing that must be type-preserving
2025-11-07 16:04:52 +0100fp(~Thunderbi@130.233.70.136) (Ping timeout: 260 seconds)
2025-11-07 16:07:36 +0100Square2(~Square4@user/square) (Ping timeout: 252 seconds)
2025-11-07 16:08:21 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 250 seconds)
2025-11-07 16:09:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 16:16:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 16:18:49 +0100xff0x(~xff0x@2405:6580:b080:900:f6a2:6697:d899:5ef3)
2025-11-07 16:27:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 16:32:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 16:32:54 +0100Square2(~Square4@user/square) Square
2025-11-07 16:37:23 +0100Square2(~Square4@user/square) (Ping timeout: 244 seconds)
2025-11-07 16:40:29 +0100Square3(~Square@user/square) (Ping timeout: 244 seconds)
2025-11-07 16:43:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 16:44:28 +0100trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 255 seconds)
2025-11-07 16:44:48 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 16:46:41 +0100annamalai(~annamalai@157.33.208.56) (Read error: Connection reset by peer)
2025-11-07 16:47:02 +0100annamalai(~annamalai@157.33.208.56) annamalai
2025-11-07 16:48:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-11-07 16:52:34 +0100ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-11-07 16:56:58 +0100Nachtgespenst(~user@user/siracusa) (Quit: Bye!)
2025-11-07 16:58:14 +0100 <dutchie> am I supposed to use vector-algorithms to sort Data.Vector.Vectors?
2025-11-07 16:59:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 17:04:16 +0100fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp
2025-11-07 17:04:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-11-07 17:05:56 +0100Googulator49(~Googulato@team.broadbit.hu)
2025-11-07 17:07:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 17:08:17 +0100Inline(~inlinE@2a02:8071:57a1:dc0:a54f:a27d:cf25:667b) (Remote host closed the connection)
2025-11-07 17:08:36 +0100Inline(~inlinE@2a02:8071:57a1:dc0:a54f:a27d:cf25:667b) Inline
2025-11-07 17:09:05 +0100Googulator94(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 17:09:18 +0100YoungFrog(~youngfrog@2a02:a03f:ca07:f900:3dd:a915:d31f:6e01) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2025-11-07 17:09:38 +0100YoungFrog(~youngfrog@2a02:a03f:ca07:f900:9f50:13f1:779b:4aa6) youngfrog
2025-11-07 17:14:25 +0100Anarchos(~Anarchos@91-161-254-16.subs.proxad.net) (Read error: Connection reset by peer)
2025-11-07 17:15:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 17:15:44 +0100Googulator78(~Googulato@team.broadbit.hu)
2025-11-07 17:19:03 +0100Googulator49(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 17:19:10 +0100tromp(~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca)
2025-11-07 17:23:17 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-11-07 17:26:12 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 17:26:44 +0100fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Read error: Connection reset by peer)
2025-11-07 17:26:54 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-11-07 17:27:03 +0100fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp
2025-11-07 17:27:19 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2025-11-07 17:28:15 +0100Lord_of_Life_Lord_of_Life
2025-11-07 17:30:56 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 17:35:20 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-11-07 17:35:43 +0100Googulator53(~Googulato@team.broadbit.hu)
2025-11-07 17:38:59 +0100Googulator78(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 17:41:37 +0100 <kuribas`> Funny, but I don't find that most of the bugs in my python are due to type errors. I put a type on every function thought (even if it is Any).
2025-11-07 17:41:59 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 17:43:27 +0100 <kuribas`> I find robustness comes from good practices mostly, like avoiding side-effects is possible, using dataclasses, not doing stringly typed programming, good exception hygience (which is tricky in python), modularity, avoiding dynamic tricks, etc..
2025-11-07 17:43:51 +0100 <kuribas`> Makes me question if spending lots of time to get just that bit more type safety is worth it...
2025-11-07 17:44:07 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2025-11-07 17:44:14 +0100 <kuribas`> Or finding the most elegant way to express this single loop, which means nothing on the scale of the project.
2025-11-07 17:45:09 +0100 <kuribas`> Of course these things haskell encourages, and python doesn't.
2025-11-07 17:45:20 +0100 <kuribas`> So easy to get code that throws exceptions all over the place.
2025-11-07 17:46:35 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-11-07 17:48:53 +0100 <kuribas`> I wonder if equivalent haskell code would be faster than python.
2025-11-07 17:49:34 +0100 <kuribas`> since haskell has overhead for GC and immutability, but is compiled vs interpreted python.
2025-11-07 17:50:42 +0100Googulator16(~Googulato@team.broadbit.hu)
2025-11-07 17:51:04 +0100 <haskellbridge> <loonycyborg> Main fragility of python comes not from dynamic typing but from dynamic execution I think
2025-11-07 17:51:37 +0100 <haskellbridge> <loonycyborg> It's a lot easier to write total nonsense in python that won't break anything until it's actually executed
2025-11-07 17:51:52 +0100 <kuribas`> Some of the stuff is crazy, like changing modules at runtime.
2025-11-07 17:52:13 +0100 <haskellbridge> <loonycyborg> So if you break something with refactoring then you won't notice it until it's actually executed
2025-11-07 17:52:23 +0100 <haskellbridge> <loonycyborg> if it's in some rarely used codepath then good luck
2025-11-07 17:53:18 +0100 <haskellbridge> <loonycyborg> This is what more complex type systems are meant to prevent.
2025-11-07 17:53:30 +0100 <haskellbridge> <loonycyborg> Basically aim is to prove your code at any codepath
2025-11-07 17:53:43 +0100Googulator53(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 17:53:57 +0100 <geekosaur> also code coverage, but that I think is equally impossible for python?
2025-11-07 17:54:07 +0100 <kuribas`> It helps not to do crazy stuff in Python.
2025-11-07 17:54:16 +0100 <kuribas`> But there are popular packages that do this.
2025-11-07 17:54:36 +0100michalz(~michalz@185.246.207.215)
2025-11-07 17:55:10 +0100 <kuribas`> dramatiq changes the class at runtime of the actors.
2025-11-07 17:57:47 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 17:59:10 +0100Anarchos(~Anarchos@91-161-254-16.subs.proxad.net) Anarchos
2025-11-07 18:01:00 +0100Googulator5(~Googulato@team.broadbit.hu)
2025-11-07 18:02:18 +0100tromp(~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-07 18:02:52 +0100chele(~chele@user/chele) (Remote host closed the connection)
2025-11-07 18:04:07 +0100Googulator16(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 18:04:49 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 18:06:25 +0100tromp(~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca)
2025-11-07 18:10:45 +0100Googulator3(~Googulato@team.broadbit.hu)
2025-11-07 18:11:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 18:14:05 +0100Googulator5(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 18:14:30 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 265 seconds)
2025-11-07 18:16:16 +0100 <haskellbridge> <loonycyborg> Python dynamicness is both blessing and curse. If you can redefine pretty much anything at runtime(like rewrite classes and change dicts with local variables) then it's near impossible to reason about the code in general
2025-11-07 18:16:34 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 18:16:49 +0100 <haskellbridge> <loonycyborg> Exactly same code can have totally different effects depending on how you hack the environment before running it :P
2025-11-07 18:16:56 +0100myxos(~myxos@2001:579:8380:f20:6ebf:41cf:49b4:43a6) myxokephale
2025-11-07 18:17:21 +0100Googulator3(~Googulato@team.broadbit.hu) (Quit: Client closed)
2025-11-07 18:17:40 +0100Googulator3(~Googulato@team.broadbit.hu)
2025-11-07 18:18:02 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 18:18:15 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 18:19:37 +0100myxokephale(~myxos@2001:579:8380:f20:f473:5072:5243:c7a6) (Ping timeout: 260 seconds)
2025-11-07 18:24:04 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-11-07 18:25:09 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-11-07 18:27:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 18:32:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-07 18:33:53 +0100 <[exa]> tomsmeding: actually yeah that seems to be the issue
2025-11-07 18:34:15 +0100 <[exa]> so we need a bigger gun than ContT, great! :D
2025-11-07 18:37:14 +0100 <tomsmeding> [exa]: another sign that ContT is not what you want: callCC exists
2025-11-07 18:37:55 +0100 <tomsmeding> if you find a way to do something decent with too many nested CPS-style functions, let me know
2025-11-07 18:38:27 +0100 <[exa]> writing a database that has to merge segments, like lucene
2025-11-07 18:38:45 +0100 <[exa]> it needs like 2943872598347 resources open, so there's bracket everywhere
2025-11-07 18:38:50 +0100 <tomsmeding> [exa]: because I'm in deep https://git.tomsmeding.com/chad-fast/tree/src/CHAD.hs?id=38150f4f9792156d8c59439fe47ecb69a0a0e00b#…
2025-11-07 18:39:15 +0100 <[exa]> my eyes
2025-11-07 18:39:22 +0100[exa]pops a bottle of defensive geuze
2025-11-07 18:39:25 +0100 <tomsmeding> also these things are CPS not because they open resources but because they introduce a bunch of existential type variables
2025-11-07 18:39:44 +0100 <tomsmeding> I could write one-off data types for all of these to wrap the existentials that way but that would just be more verbose
2025-11-07 18:40:14 +0100 <tomsmeding> yes with syntax highlighting it's slightly less horrendous (the highlighting on my git site is horribly broken)
2025-11-07 18:40:20 +0100 <tomsmeding> emphasis on slightly
2025-11-07 18:41:00 +0100 <tomsmeding> [exa]: see also the type right above the link I sent you (drevLambda), as well as this type https://git.tomsmeding.com/chad-fast/tree/src/AST.hs?id=38150f4f9792156d8c59439fe47ecb69a0a0e00b#n…
2025-11-07 18:42:22 +0100acidjnk(~acidjnk@2003:d6:e717:1922:4028:f2f:de8c:479) (Ping timeout: 260 seconds)
2025-11-07 18:43:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 18:45:42 +0100Googulator3(~Googulato@team.broadbit.hu) (Quit: Client closed)
2025-11-07 18:45:43 +0100Googulator78(~Googulato@team.broadbit.hu)
2025-11-07 18:46:08 +0100haritz(~hrtz@user/haritz) (Remote host closed the connection)
2025-11-07 18:48:06 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 18:48:12 +0100tromp(~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca) (Ping timeout: 252 seconds)
2025-11-07 18:49:49 +0100fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 264 seconds)
2025-11-07 18:50:43 +0100emperori(~emperori@2401:4900:6286:fc4d:c464:378c:4752:c5b7)
2025-11-07 18:51:16 +0100haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2025-11-07 18:51:16 +0100haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2025-11-07 18:51:16 +0100haritz(~hrtz@user/haritz) haritz
2025-11-07 18:51:49 +0100emperori(~emperori@2401:4900:6286:fc4d:c464:378c:4752:c5b7) (Remote host closed the connection)
2025-11-07 18:56:28 +0100comonad(~comonad@p200300d02741a000c6934c09e8b46dfd.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-11-07 18:58:44 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2025-11-07 18:59:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 19:00:45 +0100Googulator69(~Googulato@team.broadbit.hu)
2025-11-07 19:02:16 +0100acidjnk(~acidjnk@p200300d6e717192240280f2fde8c0479.dip0.t-ipconnect.de) acidjnk
2025-11-07 19:03:35 +0100Googulator69(~Googulato@team.broadbit.hu) (Client Quit)
2025-11-07 19:03:55 +0100Googulator78(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 19:03:57 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 19:03:58 +0100Googulator69(~Googulato@team.broadbit.hu)
2025-11-07 19:04:29 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-11-07 19:05:40 +0100 <[exa]> I'll simply write a note for myself here to never try to golf contT into this :D
2025-11-07 19:06:08 +0100haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-11-07 19:06:55 +0100 <[exa]> tomsmeding: you should run hindent on that thing, it reads .... less chaotically I guess
2025-11-07 19:12:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 19:12:54 +0100comonad(~comonad@p200300d02741a000c6934c09e8b46dfd.dip0.t-ipconnect.de)
2025-11-07 19:13:14 +0100 <tomsmeding> [exa]: and end up with 15 levels deep indentation?
2025-11-07 19:13:52 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2025-11-07 19:14:04 +0100 <tomsmeding> [exa]: I'm honestly open for suggestions how to properly format this
2025-11-07 19:14:05 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-11-07 19:14:07 +0100 <tomsmeding> or even organise this
2025-11-07 19:14:35 +0100 <tomsmeding> semantically it's just a long list of let bindings, it's just that the language forces me to make some of those callbacks because of existentials
2025-11-07 19:14:41 +0100haritz(~hrtz@140.228.70.141)
2025-11-07 19:14:41 +0100haritz(~hrtz@140.228.70.141) (Changing host)
2025-11-07 19:14:41 +0100haritz(~hrtz@user/haritz) haritz
2025-11-07 19:15:07 +0100 <[exa]> tomsmeding: oh wait ok I see
2025-11-07 19:15:23 +0100img(~img@user/img) img
2025-11-07 19:15:30 +0100haritz(~hrtz@user/haritz) (Remote host closed the connection)
2025-11-07 19:15:40 +0100Googulator69(~Googulato@team.broadbit.hu) (Quit: Client closed)
2025-11-07 19:15:43 +0100Googulator68(~Googulato@team.broadbit.hu)
2025-11-07 19:16:28 +0100 <tomsmeding> [exa]: I ran hindent on the thing, is this better? https://paste.tomsmeding.com/OgCpjy7u
2025-11-07 19:17:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 19:17:56 +0100 <tomsmeding> 15 was actually an understatement, getting 20 levels here
2025-11-07 19:18:30 +0100 <[exa]> could you run the whole thing in Identity, replace the single-cases with binding?
2025-11-07 19:18:36 +0100 <[exa]> in Identity do?
2025-11-07 19:18:45 +0100 <[exa]> other than that no actual idea, it's brutal
2025-11-07 19:19:16 +0100 <[exa]> might be arrows.
2025-11-07 19:19:51 +0100 <int-e> IIUC you can't let-bind type evidence
2025-11-07 19:20:29 +0100 <tomsmeding> [exa]: I tried just now, doesn't seem to eat the existentials
2025-11-07 19:20:55 +0100 <int-e> `Refl <- pure ...` should have a chance
2025-11-07 19:21:05 +0100 <int-e> but isn't nice :P
2025-11-07 19:21:22 +0100 <tomsmeding> int-e: I have functions that return stuff with existentials; I implement them currently in CPS style by having them take a continuation with some foralls
2025-11-07 19:22:00 +0100 <int-e> yeah I don't think you'll get rid of that conveniently
2025-11-07 19:22:03 +0100 <tomsmeding> if I put 'Identity' in that continuation then GHC complains on the use of 'Identity' that it can't match variables "because type variable ‘env'1’ would escape its scope"
2025-11-07 19:22:29 +0100 <int-e> (CPS isn't that horrible, compared to having ad-hoc existential data types)
2025-11-07 19:22:30 +0100 <tomsmeding> I can write a custom data type for each of these functions, but I don't think that's better
2025-11-07 19:22:34 +0100 <tomsmeding> ^
2025-11-07 19:23:26 +0100 <[exa]> y u so complex programs
2025-11-07 19:23:55 +0100 <tomsmeding> I made the decision to make the embedded language in this compiler strongly typed
2025-11-07 19:24:18 +0100 <tomsmeding> then I proceeded to implement complicated algorithms in it
2025-11-07 19:24:26 +0100 <tomsmeding> the latter is "because this is phd research lolo"
2025-11-07 19:24:32 +0100 <tomsmeding> s/lolo/lol/
2025-11-07 19:24:51 +0100 <tomsmeding> the former is "because it means that when I manage to make the bloody thing typecheck it has an 80% chance of being correct"
2025-11-07 19:25:09 +0100 <tomsmeding> and I feel like if I hadn't, that probability would have been <5%
2025-11-07 19:25:42 +0100Googulator41(~Googulato@team.broadbit.hu)
2025-11-07 19:25:58 +0100 <tomsmeding> this is a code transformation where the types in the output code depend quite significantly on the precise structure of the input _terms-
2025-11-07 19:26:04 +0100 <tomsmeding> s/-/_/
2025-11-07 19:28:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 19:28:53 +0100Square3(~Square@user/square) Square
2025-11-07 19:29:03 +0100Googulator68(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 19:29:44 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2025-11-07 19:30:38 +0100 <[exa]> yeah like, I might need a week to properly soak that in
2025-11-07 19:30:48 +0100Googulator41(~Googulato@team.broadbit.hu) (Quit: Client closed)
2025-11-07 19:30:52 +0100Googulator53(~Googulato@team.broadbit.hu)
2025-11-07 19:33:46 +0100 <tomsmeding> my advisor sometimes speaks of future a future phd student continuing work on this codebase
2025-11-07 19:33:58 +0100 <tomsmeding> s/of future/of/ (why can't I type today)
2025-11-07 19:34:58 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 19:37:09 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2025-11-07 19:37:54 +0100 <[exa]> "future phd student working on something" yeah I love listening to fairy tales :D
2025-11-07 19:38:32 +0100 <tomsmeding> I've seen a phd student working on prior student projects and they were miserabl
2025-11-07 19:38:34 +0100 <tomsmeding> e
2025-11-07 19:39:31 +0100 <tomsmeding> there being a future phd student is actually less of a fiction than you might think in this case, he has a grant and is hiring
2025-11-07 19:39:45 +0100 <tomsmeding> them successfully continuing work on this codebase, on the other hand...
2025-11-07 19:45:14 +0100 <tomsmeding> this CPS stuff is yet another reason I should have written this in Agda I guess
2025-11-07 19:45:32 +0100 <tomsmeding> there you can just return a dependent pair of whatever existential you want and call it a day
2025-11-07 19:46:33 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 19:49:24 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2025-11-07 19:51:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-07 19:59:17 +0100ZLima12_(~zlima12@user/meow/ZLima12) ()
2025-11-07 20:01:59 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 20:04:21 +0100synchromesh(~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) (Read error: Connection reset by peer)
2025-11-07 20:05:25 +0100synchromesh(~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) synchromesh
2025-11-07 20:06:48 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-07 20:07:32 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-11-07 20:08:07 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
2025-11-07 20:09:40 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-11-07 20:13:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 20:16:02 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2025-11-07 20:16:13 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-11-07 20:18:14 +0100haritz(~hrtz@140.228.70.141)
2025-11-07 20:18:14 +0100haritz(~hrtz@140.228.70.141) (Changing host)
2025-11-07 20:18:14 +0100haritz(~hrtz@user/haritz) haritz
2025-11-07 20:18:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-11-07 20:23:19 +0100michalz(~michalz@185.246.207.215) (Remote host closed the connection)
2025-11-07 20:27:03 +0100haritz(~hrtz@user/haritz) (Remote host closed the connection)
2025-11-07 20:29:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 20:34:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-07 20:45:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 20:47:09 +0100biberu(~biberu@user/biberu) (Quit: ZNC - https://znc.in)
2025-11-07 20:49:19 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds)
2025-11-07 20:50:12 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-11-07 20:50:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 20:51:03 +0100ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2025-11-07 20:54:24 +0100 <monochrom> I would consider not indenting. E.g., line n column k: "foo \i ->", line (n+1) column k: "bar \j ->", line (n+2) column k: "x y z i j"
2025-11-07 20:54:39 +0100 <tomsmeding> yep, that's exactly what I ended up doing
2025-11-07 20:55:35 +0100 <monochrom> Another way (mostly to appease other people's rigid style guides) is to use ContT or Codensity, then it's just a do-block. :)
2025-11-07 20:55:55 +0100 <tomsmeding> monochrom: does ContT really work?
2025-11-07 20:56:02 +0100 <tomsmeding> pls teach me
2025-11-07 20:56:56 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-11-07 20:58:29 +0100 <tomsmeding> monochrom: can you write this with some monad trick? https://play.haskell.org/saved/REvWXlQd
2025-11-07 20:58:43 +0100haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2025-11-07 20:58:43 +0100haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2025-11-07 20:58:43 +0100haritz(~hrtz@user/haritz) haritz
2025-11-07 20:59:10 +0100 <monochrom> Nice, I'll work with that.
2025-11-07 21:00:38 +0100yauhsien(~Yau-Hsien@118-168-140-77.dynamic-ip.hinet.net) yauhsien
2025-11-07 21:01:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 21:01:41 +0100 <EvanR> It's a monad. I know this. </jurassicpark>
2025-11-07 21:02:07 +0100 <monochrom> onoes there are 2 arguments!
2025-11-07 21:02:28 +0100 <monochrom> "now there are two of them!" </phantom menace>
2025-11-07 21:02:38 +0100 <tomsmeding> monochrom: I think that's not the biggest problem there -- you can just use a tuple
2025-11-07 21:02:39 +0100 <glguy> uncurry it to get back to one
2025-11-07 21:02:41 +0100 <tomsmeding> the problem is the existential
2025-11-07 21:03:15 +0100 <monochrom> Yeah the forall may require Codensity.
2025-11-07 21:03:33 +0100 <monochrom> err no, Codensity does forall on the other guy.
2025-11-07 21:05:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 21:05:55 +0100Googulator34(~Googulato@team.broadbit.hu)
2025-11-07 21:09:08 +0100Googulator13(~Googulato@team.broadbit.hu)
2025-11-07 21:09:09 +0100Googulator53(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 21:09:09 +0100 <Leary> tomsmeding: https://paste.tomsmeding.com/phEkL7cc
2025-11-07 21:09:27 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2025-11-07 21:10:05 +0100 <tomsmeding> oh that's delightful
2025-11-07 21:10:20 +0100 <monochrom> Intreresting
2025-11-07 21:10:44 +0100Googulator13(~Googulato@team.broadbit.hu) (Client Quit)
2025-11-07 21:10:50 +0100Googulator11(~Googulato@team.broadbit.hu)
2025-11-07 21:11:28 +0100 <EvanR> because of that I'm now using ImpredicativeTypes everywhere
2025-11-07 21:11:45 +0100 <tomsmeding> what makes it better is that that type for >>= is completely different from what >>= is normally supposed to be
2025-11-07 21:11:46 +0100 <monochrom> heh
2025-11-07 21:12:03 +0100 <EvanR> how I learned to stop worrying and love ImpredicativeTypes
2025-11-07 21:13:03 +0100Googulator34(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 21:14:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 21:17:49 +0100Googulator11(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 21:19:29 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 21:20:24 +0100[exa]discovers QualifiedDo
2025-11-07 21:20:29 +0100 <tomsmeding> Leary: it doesn't seem possible to write a generic adaptor for two-result functions like my original 'foo' to one-result functions, right?
2025-11-07 21:23:58 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 265 seconds)
2025-11-07 21:27:11 +0100 <monochrom> Here is the worst of both worlds, just for laughs: https://play.haskell.org/saved/YfoP6M4d
2025-11-07 21:27:18 +0100 <[exa]> Leary: ok turns out the QualifiedDo completely solves my previous concerns, thanks again :D
2025-11-07 21:28:59 +0100 <tomsmeding> monochrom: https://play.haskell.org/saved/VMQbllqc :p
2025-11-07 21:29:11 +0100 <tomsmeding> once you have a data type no more cruft is necessary
2025-11-07 21:29:49 +0100 <tomsmeding> [exa]: do you seriously think that a wacky utterly-not-a-monad QualifiedDo thing is better than nested wrapper functions
2025-11-07 21:30:20 +0100 <[exa]> well, there's 10 levels of indentation on the table
2025-11-07 21:30:26 +0100 <monochrom> Actually "foo :: Int -> E" and "E x1 f1 <- Identity (foo n)" is simpler.
2025-11-07 21:30:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 21:31:00 +0100 <monochrom> Anyway please turn on BlockArguments >:)
2025-11-07 21:31:37 +0100 <tomsmeding> monochrom: don't even need the Identity, in fact https://play.haskell.org/saved/clzWP2pe
2025-11-07 21:31:50 +0100DetourNetworkUK(DetourNetw@user/DetourNetworkUK) ()
2025-11-07 21:31:51 +0100 <monochrom> OK yeah we need dependent pairs yeah.
2025-11-07 21:32:11 +0100 <tomsmeding> [exa]: I have a case in this file with 12
2025-11-07 21:32:20 +0100 <monochrom> Haha "what's the difference between do-notation and guards?"
2025-11-07 21:33:13 +0100 <tomsmeding> [exa]: https://git.tomsmeding.com/chad-fast/tree/src/CHAD.hs?id=38150f4f9792156d8c59439fe47ecb69a0a0e00b#… lines 878, 879, 880, 882, 884, 886, 887-888, 897, 900-903, 907, 908
2025-11-07 21:33:15 +0100 <tomsmeding> ok 11
2025-11-07 21:33:24 +0100 <tomsmeding> but only if you bundle the Refls together into tuples, otherwise it's 15
2025-11-07 21:33:37 +0100trickard_trickard
2025-11-07 21:33:54 +0100 <tomsmeding> (this case has the advantage of most of the functions actually having data types defined for them)
2025-11-07 21:34:37 +0100 <tomsmeding> Leary: now I'm seriously considering using this, talk me out of it
2025-11-07 21:35:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 21:35:52 +0100 <tomsmeding> nah this has only one real advantage: the binders are always on the left-hand side, instead of sometimes on the left and sometimes on the right
2025-11-07 21:35:54 +0100 <monochrom> "Once you've seen it, you can't unseen it" >:)
2025-11-07 21:36:27 +0100 <tomsmeding> the cost is having to tuple the continuations for everything, and a wacky thing that everyone will do a double-take on
2025-11-07 21:37:31 +0100 <tomsmeding> Leary: required additional thing in the ContDo module: class AlwaysFail a; instance TypeError (Text "fail") => AlwaysFail a; fail :: AlwaysFail a => String -> a; fail = error
2025-11-07 21:38:07 +0100 <monochrom> OK the original "foo \i -", don't indent, "bar \j ->" is the simplest, if there is no auto-indenter or draconic style checker getting in the way.
2025-11-07 21:38:23 +0100 <tomsmeding> no autoformatter in my code
2025-11-07 21:41:04 +0100 <Leary> tomsmeding: A spoonful of sugar helps the medicine go down. I won't talk you out of sweetening the pot. :)
2025-11-07 21:41:19 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2025-11-07 21:41:37 +0100 <Leary> Re multi-result functions, I don't know, but I doubt there's a nice way.
2025-11-07 21:41:37 +0100DetourNetworkUK(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2025-11-07 21:42:44 +0100 <EvanR> haskell should have been designed based on 2 result functions from the beginning, instead of 1
2025-11-07 21:42:54 +0100 <EvanR> no one in their right mind would ask for 3
2025-11-07 21:43:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 21:43:11 +0100 <tomsmeding> EvanR: I have CPSy functions returning 6 things
2025-11-07 21:43:24 +0100 <EvanR> that's consistent with what I said
2025-11-07 21:43:29 +0100 <tomsmeding> fair
2025-11-07 21:43:45 +0100 <EvanR> the 0 1 6 rule
2025-11-07 21:43:58 +0100 <tomsmeding> it has been enshrined on a branch lol https://git.tomsmeding.com/chad-fast/commit/?h=qualified-contdo&id=4ccf1996a5bd739dfb1e62fb3bfb189…
2025-11-07 21:46:52 +0100 <monochrom> GHC was designed for 64-result functions. >:)
2025-11-07 21:47:22 +0100trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 21:47:35 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 21:48:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 21:48:06 +0100 <EvanR> no one in their right mind would ask for 65
2025-11-07 21:48:28 +0100 <geekosaur> no one in their right mind would ask for 64 😈
2025-11-07 21:48:55 +0100 <geekosaur> (also I think it's 63?)
2025-11-07 21:51:33 +0100fgarcia(~lei@user/fgarcia) (Quit: Remote host closed the connection)
2025-11-07 21:58:51 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 22:02:46 +0100 <tomsmeding> https://hackage.haskell.org/package/ghc-prim-0.13.0/docs/src/GHC.Tuple.html
2025-11-07 22:02:58 +0100 <tomsmeding> looks like 64 is good
2025-11-07 22:03:54 +0100ss4(~wootehfoo@user/wootehfoot) wootehfoot
2025-11-07 22:03:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 22:05:41 +0100ss4(~wootehfoo@user/wootehfoot) (Client Quit)
2025-11-07 22:06:37 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 264 seconds)
2025-11-07 22:14:41 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 22:19:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 22:30:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 22:36:08 +0100takuan(~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-11-07 22:37:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 22:39:32 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 22:39:46 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 22:39:55 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-11-07 22:48:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 22:50:33 +0100sam113101(~sam@modemcable200.189-202-24.mc.videotron.ca) (Read error: Connection reset by peer)
2025-11-07 22:51:02 +0100sam113101(~sam@modemcable200.189-202-24.mc.videotron.ca) sam113101
2025-11-07 22:53:30 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-07 23:04:07 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-11-07 23:04:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 23:07:55 +0100duckworld(~duckworld@user/duckworld) (*.net *.split)
2025-11-07 23:07:55 +0100superbil(~superbil@114-32-231-70.hinet-ip.hinet.net) (*.net *.split)
2025-11-07 23:07:55 +0100Axman6(~Axman6@user/axman6) (*.net *.split)
2025-11-07 23:08:27 +0100superbil(~superbil@114-32-231-70.hinet-ip.hinet.net) superbil
2025-11-07 23:08:27 +0100Axman6(~Axman6@user/axman6) Axman6
2025-11-07 23:08:27 +0100duckworld(~duckworld@user/duckworld) duckworld
2025-11-07 23:08:32 +0100duckworld(~duckworld@user/duckworld) (Max SendQ exceeded)
2025-11-07 23:08:49 +0100duckworld(~duckworld@user/duckworld) duckworld
2025-11-07 23:08:55 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-07 23:14:58 +0100haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-11-07 23:15:38 +0100ystael(~ystael@user/ystael) (Ping timeout: 244 seconds)
2025-11-07 23:15:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 23:17:18 +0100jonny(~jonny@190.221.193.49)
2025-11-07 23:18:17 +0100ljdarj(~Thunderbi@user/ljdarj) (Read error: Connection reset by peer)
2025-11-07 23:20:38 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 23:20:43 +0100chexum_(~quassel@gateway/tor-sasl/chexum) chexum
2025-11-07 23:20:48 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 23:20:52 +0100trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 23:20:53 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2025-11-07 23:22:36 +0100chiselfu1e(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2025-11-07 23:22:36 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2025-11-07 23:23:29 +0100jonny(~jonny@190.221.193.49) (Quit: Client closed)
2025-11-07 23:29:45 +0100williu5(~williu5@user/williu5) (Quit: WeeChat 4.1.1)
2025-11-07 23:31:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 23:34:13 +0100trickard_trickard
2025-11-07 23:35:51 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
2025-11-07 23:36:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-11-07 23:38:57 +0100divlamir_(~divlamir@user/divlamir) divlamir
2025-11-07 23:38:59 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-11-07 23:39:49 +0100divlamir_divlamir
2025-11-07 23:40:46 +0100Googulator11(~Googulato@2a01-036d-0106-0180-8127-ba79-55a7-6f29.pool6.digikabel.hu)
2025-11-07 23:47:19 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-07 23:51:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-11-07 23:57:18 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod