| 2025-11-07 00:00:04 +0100 | Zemy | (~Zemy@2600:100c:b021:2c99:34f5:91ff:fe7f:6e5b) |
| 2025-11-07 00:00:39 +0100 | Zemy_ | (~Zemy@24-155-2-226.static.grandenetworks.net) |
| 2025-11-07 00:00:42 +0100 | Zemy | (~Zemy@2600:100c:b021:2c99:34f5:91ff:fe7f:6e5b) (Read error: Connection reset by peer) |
| 2025-11-07 00:00:58 +0100 | Zemy | (~Zemy@2600:100c:b021:2c99:a49a:c7ff:fe57:7568) |
| 2025-11-07 00:01:12 +0100 | Core4520 | (~Zemy@2600:100c:b021:2c99:e8ef:cdff:fefd:214c) (Ping timeout: 260 seconds) |
| 2025-11-07 00:04:07 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds) |
| 2025-11-07 00:04:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-07 00:04:54 +0100 | Zemy_ | (~Zemy@24-155-2-226.static.grandenetworks.net) (Ping timeout: 256 seconds) |
| 2025-11-07 00:05:20 +0100 | Fijxu_ | (~Fijxu@user/fijxu) (Ping timeout: 245 seconds) |
| 2025-11-07 00:08:46 +0100 | Fijxu | (~Fijxu@user/fijxu) fijxu |
| 2025-11-07 00:13:08 +0100 | Tuplanolla | (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2025-11-07 00:13:09 +0100 | tcard_ | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer) |
| 2025-11-07 00:13:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 00:14:13 +0100 | Zemy_ | (~Zemy@mobile-107-80-206-18.mycingular.net) |
| 2025-11-07 00:15:11 +0100 | Zemy | (~Zemy@2600:100c:b021:2c99:a49a:c7ff:fe57:7568) (Read error: Connection reset by peer) |
| 2025-11-07 00:15:31 +0100 | Zemy | (~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 +0100 | Zemy_ | (~Zemy@mobile-107-80-206-18.mycingular.net) (Ping timeout: 260 seconds) |
| 2025-11-07 00:20:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 00:30:23 +0100 | Zemy_ | (~Zemy@72.178.108.235) |
| 2025-11-07 00:30:49 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
| 2025-11-07 00:31:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 00:33:52 +0100 | Zemy | (~Zemy@2600:100c:b021:2c99:3c31:bff:fe68:9247) (Ping timeout: 260 seconds) |
| 2025-11-07 00:36:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-11-07 00:41:02 +0100 | trickard_ | (~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 244 seconds) |
| 2025-11-07 00:43:16 +0100 | Googulator99 | Googulator |
| 2025-11-07 00:43:23 +0100 | trickard_ | (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-11-07 00:43:59 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-11-07 00:47:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 00:49:06 +0100 | tromp | (~textual@2001:1c00:3487:1b00:d577:2751:e380:cb37) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-11-07 00:52:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-11-07 00:53:32 +0100 | tromp | (~textual@2001:1c00:3487:1b00:d577:2751:e380:cb37) |
| 2025-11-07 00:57:56 +0100 | Square3 | (~Square@user/square) Square |
| 2025-11-07 01:00:10 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 01:02:07 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 264 seconds) |
| 2025-11-07 01:02:09 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-11-07 01:04:28 +0100 | tromp | (~textual@2001:1c00:3487:1b00:d577:2751:e380:cb37) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-11-07 01:05:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 01:11:07 +0100 | annamalai | (~annamalai@157.32.112.75) (Ping timeout: 264 seconds) |
| 2025-11-07 01:14:42 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 01:19:28 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-07 01:19:35 +0100 | trickard_ | trickard |
| 2025-11-07 01:30:08 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 240 seconds) |
| 2025-11-07 01:30:30 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 01:35:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 01:40:12 +0100 | variant | (~variant@136.61.39.172) |
| 2025-11-07 01:44:49 +0100 | xff0x | (~xff0x@2405:6580:b080:900:c1bd:3ff8:8b46:e15a) (Ping timeout: 260 seconds) |
| 2025-11-07 01:46:18 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 01:47:28 +0100 | acidjnk | (~acidjnk@p200300d6e717199501855715c4be6f96.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2025-11-07 01:51:10 +0100 | merijn | (~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 +0100 | pabs3 | (~pabs3@user/pabs3) (Ping timeout: 264 seconds) |
| 2025-11-07 01:56:57 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-11-07 02:02:03 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2025-11-07 02:02:04 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 02:07:18 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-11-07 02:08:17 +0100 | pabs3 | (~pabs3@user/pabs3) pabs3 |
| 2025-11-07 02:09:17 +0100 | otto_s | (~user@p4ff27ba5.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 2025-11-07 02:10:50 +0100 | otto_s | (~user@p4ff270cb.dip0.t-ipconnect.de) |
| 2025-11-07 02:17:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 02:22:49 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 02:25:24 +0100 | ttybitnik | (~ttybitnik@user/wolper) (Quit: Fading out...) |
| 2025-11-07 02:33:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 02:34:15 +0100 | Square2 | (~Square4@user/square) Square |
| 2025-11-07 02:36:37 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 264 seconds) |
| 2025-11-07 02:36:55 +0100 | Square3 | (~Square@user/square) (Ping timeout: 264 seconds) |
| 2025-11-07 02:38:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-11-07 02:39:55 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2025-11-07 02:49:26 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 02:54:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-11-07 02:55:43 +0100 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-11-07 02:58:11 +0100 | ubert1 | (~Thunderbi@178.165.182.105.wireless.dyn.drei.com) ubert |
| 2025-11-07 02:58:48 +0100 | poscat | (~poscat@user/poscat) poscat |
| 2025-11-07 02:59:25 +0100 | trickard__ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 02:59:30 +0100 | trickard | (~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 244 seconds) |
| 2025-11-07 02:59:44 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-11-07 02:59:53 +0100 | trickard__ | trickard |
| 2025-11-07 03:00:16 +0100 | ubert | (~Thunderbi@178.165.186.48.wireless.dyn.drei.com) (Ping timeout: 246 seconds) |
| 2025-11-07 03:00:16 +0100 | ubert1 | ubert |
| 2025-11-07 03:05:09 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 03:07:34 +0100 | Googulator64 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 03:08:30 +0100 | Nachtgespenst | (~user@user/siracusa) siracusa |
| 2025-11-07 03:10:35 +0100 | qqe | (~qqq@185.54.21.203) |
| 2025-11-07 03:10:35 +0100 | Googulator64 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Client Quit) |
| 2025-11-07 03:10:40 +0100 | Googulator76 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 03:10:57 +0100 | dtman34 | (~dtman34@c-73-242-68-179.hsd1.mn.comcast.net) (Ping timeout: 250 seconds) |
| 2025-11-07 03:11:01 +0100 | Googulator | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 03:11:49 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-07 03:14:00 +0100 | haltingsolver | (~cmo@2604:3d09:207f:8000::d1dc) (Remote host closed the connection) |
| 2025-11-07 03:14:22 +0100 | haltingsolver | (~cmo@2604:3d09:207f:8000::d1dc) |
| 2025-11-07 03:14:41 +0100 | bggd | (~bgg@2a01:e0a:819:1510:488d:f1b1:72a6:5bef) |
| 2025-11-07 03:17:05 +0100 | variant | (~variant@136.61.39.172) (Ping timeout: 250 seconds) |
| 2025-11-07 03:23:12 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 03:26:32 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds) |
| 2025-11-07 03:28:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-11-07 03:30:34 +0100 | qqe | (~qqq@185.54.21.203) (Quit: Lost terminal) |
| 2025-11-07 03:31:06 +0100 | synchrom1 | (~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) synchromesh |
| 2025-11-07 03:33:55 +0100 | synchromesh | (~john@2406:5a00:2412:2c00:752a:c037:4485:f417) (Ping timeout: 264 seconds) |
| 2025-11-07 03:38:58 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 03:39:49 +0100 | haltingsolver | (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 246 seconds) |
| 2025-11-07 03:44:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 03:54:47 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 03:59:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 04:00:46 +0100 | myxos | (~myxos@2001:579:8380:f20:469a:adbb:d673:fb5b) myxokephale |
| 2025-11-07 04:10:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 04:15:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 04:15:42 +0100 | Googulator62 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 04:15:42 +0100 | Googulator76 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-07 04:26:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 04:27:58 +0100 | connrs | (~connrs@user/connrs) (Read error: Connection reset by peer) |
| 2025-11-07 04:28:29 +0100 | connrs | (~connrs@user/connrs) connrs |
| 2025-11-07 04:31:22 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 04:33:58 +0100 | anderson | (anderson@user/anderson) (Ping timeout: 260 seconds) |
| 2025-11-07 04:34:38 +0100 | td_ | (~td@i53870901.versanet.de) (Ping timeout: 256 seconds) |
| 2025-11-07 04:36:21 +0100 | td_ | (~td@i5387093B.versanet.de) |
| 2025-11-07 04:40:18 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 256 seconds) |
| 2025-11-07 04:42:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 04:42:51 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 252 seconds) |
| 2025-11-07 04:44:16 +0100 | sam113101 | (~sam@modemcable200.189-202-24.mc.videotron.ca) (Quit: WeeChat 4.7.0) |
| 2025-11-07 04:45:33 +0100 | sam113101 | (~sam@modemcable200.189-202-24.mc.videotron.ca) sam113101 |
| 2025-11-07 04:47:14 +0100 | anderson | (anderson@user/anderson) anderson |
| 2025-11-07 04:48:46 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-07 04:51:35 +0100 | haskellbridge | (~hackager@96.28.224.214) (Remote host closed the connection) |
| 2025-11-07 04:52:21 +0100 | haskellbridge | (~hackager@96.28.224.214) hackager |
| 2025-11-07 04:52:21 +0100 | ChanServ | +v haskellbridge |
| 2025-11-07 04:57:44 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-11-07 04:58:16 +0100 | annamalai | (~annamalai@157.33.208.56) annamalai |
| 2025-11-07 05:00:10 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 05:04:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 05:15:46 +0100 | Googulator55 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 05:15:46 +0100 | Googulator62 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-07 05:15:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 05:21:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-07 05:32:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 05:37:00 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-11-07 05:45:44 +0100 | Googulator41 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 05:45:47 +0100 | Googulator55 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-07 05:48:06 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 05:52:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-07 05:58:15 +0100 | trickard | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 05:58:29 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 06:00:36 +0100 | Googulator41 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-07 06:00:41 +0100 | Googulator75 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 06:01:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 06:06:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 06:17:02 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 06:20:41 +0100 | Googulator75 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-07 06:20:44 +0100 | Googulator52 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 06:24:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-11-07 06:28:38 +0100 | weary-traveler | (~user@user/user363627) user363627 |
| 2025-11-07 06:33:10 +0100 | qqe | (~qqq@185.54.21.203) |
| 2025-11-07 06:35:06 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 06:39:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-07 06:50:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 06:55:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-07 07:00:42 +0100 | Googulator52 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-07 07:00:47 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 07:06:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 07:11:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-11-07 07:13:27 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 260 seconds) |
| 2025-11-07 07:15:23 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-07 07:15:39 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 07:19:49 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2025-11-07 07:20:05 +0100 | califax | (~califax@user/califx) califx |
| 2025-11-07 07:22:28 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 07:27:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 07:29:25 +0100 | qqe | (~qqq@185.54.21.203) (Quit: Lost terminal) |
| 2025-11-07 07:33:49 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-07 07:34:02 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 07:35:34 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Client Quit) |
| 2025-11-07 07:35:40 +0100 | Googulator43 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 07:38:10 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 07:38:35 +0100 | synchrom1 | (~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) (Read error: Connection reset by peer) |
| 2025-11-07 07:39:46 +0100 | synchromesh | (~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) synchromesh |
| 2025-11-07 07:43:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 07:50:56 +0100 | Googulator30 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) |
| 2025-11-07 07:51:16 +0100 | Googulator43 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-07 07:53:58 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 07:58:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-11-07 07:59:04 +0100 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
| 2025-11-07 08:00:21 +0100 | biberu | (~biberu@user/biberu) biberu |
| 2025-11-07 08:02:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 08:06:18 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-11-07 08:07:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-11-07 08:11:26 +0100 | fp | (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) fp |
| 2025-11-07 08:12:11 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 08:12:50 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 08:14:08 +0100 | fp | (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Remote host closed the connection) |
| 2025-11-07 08:18:02 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 08:19:16 +0100 | ft | (~ft@p4fc2aaeb.dip0.t-ipconnect.de) (Quit: leaving) |
| 2025-11-07 08:22:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-07 08:33:50 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 08:37:19 +0100 | Googulator30 | (~Googulato@2a01-036d-0106-0180-d858-cbac-c845-1acf.pool6.digikabel.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 08:39:12 +0100 | merijn | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 08:53:20 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds) |
| 2025-11-07 08:54:36 +0100 | tromp | (~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca) |
| 2025-11-07 08:54:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-11-07 09:03:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 09:06:01 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 246 seconds) |
| 2025-11-07 09:08:11 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2025-11-07 09:10:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 09:14:17 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
| 2025-11-07 09:20:34 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2025-11-07 09:21:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 09:25:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 09:28:34 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 09:28:48 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 09:36:55 +0100 | Zemy_ | (~Zemy@72.178.108.235) (Ping timeout: 240 seconds) |
| 2025-11-07 09:37:05 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 09:42:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-11-07 09:46:57 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Remote host closed the connection) |
| 2025-11-07 09:52:51 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 09:57:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-11-07 10:00:08 +0100 | tromp | (~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-11-07 10:04:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 10:05:00 +0100 | Zemy | (~Zemy@2600:100c:b0a9:5d13:c885:f7ff:fe70:b995) |
| 2025-11-07 10:05:36 +0100 | Zemy_ | (~Zemy@72.178.108.235) |
| 2025-11-07 10:06:30 +0100 | Zemy | (~Zemy@2600:100c:b0a9:5d13:c885:f7ff:fe70:b995) (Read error: Connection reset by peer) |
| 2025-11-07 10:07:06 +0100 | Zemy | (~Zemy@2600:100c:b0a9:5d13:9416:6bff:fe45:7075) |
| 2025-11-07 10:07:06 +0100 | Zemy_ | (~Zemy@72.178.108.235) (Read error: Connection reset by peer) |
| 2025-11-07 10:07:38 +0100 | Zemy_ | (~Zemy@72.178.108.235) |
| 2025-11-07 10:09:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 10:11:39 +0100 | Zemy | (~Zemy@2600:100c:b0a9:5d13:9416:6bff:fe45:7075) (Ping timeout: 265 seconds) |
| 2025-11-07 10:15:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 10:15:28 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 10:15:40 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 10:16:45 +0100 | myxokephale | (~myxos@2001:579:8380:f20:f473:5072:5243:c7a6) myxokephale |
| 2025-11-07 10:19:10 +0100 | myxos | (~myxos@2001:579:8380:f20:469a:adbb:d673:fb5b) (Ping timeout: 246 seconds) |
| 2025-11-07 10:19:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-07 10:20:13 +0100 | Zemy_ | (~Zemy@72.178.108.235) (Ping timeout: 246 seconds) |
| 2025-11-07 10:23:01 +0100 | Zemy | (~Zemy@72.178.108.235) |
| 2025-11-07 10:26:32 +0100 | kuribas | (~user@2a02:1808:d1:be31:ac10:dd83:cea2:1717) kuribas |
| 2025-11-07 10:31:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 10:32:40 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2025-11-07 10:33:13 +0100 | acidjnk | (~acidjnk@2003:d6:e717:1922:4028:f2f:de8c:479) acidjnk |
| 2025-11-07 10:36:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-11-07 10:46:38 +0100 | merijn | (~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 +0100 | merijn | (~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 +0100 | xff0x | (~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 +0100 | CiaoSen | (~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 +0100 | Zemy_ | (~Zemy@2600:100c:b0a1:9f27:6026:a3ff:fe87:99d9) |
| 2025-11-07 11:01:17 +0100 | Zemy | (~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 +0100 | chele | (~chele@user/chele) chele |
| 2025-11-07 11:02:40 +0100 | Zemy | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 11:05:37 +0100 | Zemy_ | (~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 +0100 | merijn | (~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 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
| 2025-11-07 11:11:05 +0100 | fp | (~Thunderbi@130.233.70.136) fp |
| 2025-11-07 11:12:54 +0100 | <__monty__> | Relude has `asumMap`. |
| 2025-11-07 11:13:26 +0100 | Frostillicus | (~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 +0100 | trickard_ | trickard |
| 2025-11-07 11:20:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 11:25:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-07 11:30:28 +0100 | itaipu | (~itaipu@168.121.97.28) (Ping timeout: 260 seconds) |
| 2025-11-07 11:36:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 11:41:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 11:45:40 +0100 | Zemy_ | (~Zemy@2600:100c:b0a1:9f27:38d4:16ff:fedd:d703) |
| 2025-11-07 11:45:40 +0100 | Zemy | (~Zemy@72.178.108.235) (Read error: Connection reset by peer) |
| 2025-11-07 11:46:12 +0100 | Zemy | (~Zemy@72.178.108.235) |
| 2025-11-07 11:49:57 +0100 | Zemy_ | (~Zemy@2600:100c:b0a1:9f27:38d4:16ff:fedd:d703) (Ping timeout: 260 seconds) |
| 2025-11-07 11:52:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 11:53:00 +0100 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
| 2025-11-07 11:53:55 +0100 | Zemy_ | (~Zemy@2600:100c:b0a1:9f27:4085:11ff:fe99:8799) |
| 2025-11-07 11:53:56 +0100 | Zemy | (~Zemy@72.178.108.235) (Read error: Connection reset by peer) |
| 2025-11-07 11:54:29 +0100 | Zemy | (~Zemy@72.178.108.235) |
| 2025-11-07 11:56:11 +0100 | Core5925 | (~Zemy@2600:100c:b0a1:9f27:7060:ffff:fe7d:6622) |
| 2025-11-07 11:56:11 +0100 | Zemy | (~Zemy@72.178.108.235) (Read error: Connection reset by peer) |
| 2025-11-07 11:56:26 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) lisbeths |
| 2025-11-07 11:56:44 +0100 | Zemy | (~Zemy@72.178.108.235) |
| 2025-11-07 11:57:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 11:58:13 +0100 | Zemy_ | (~Zemy@2600:100c:b0a1:9f27:4085:11ff:fe99:8799) (Ping timeout: 246 seconds) |
| 2025-11-07 12:00:53 +0100 | Core5925 | (~Zemy@2600:100c:b0a1:9f27:7060:ffff:fe7d:6622) (Ping timeout: 265 seconds) |
| 2025-11-07 12:01:01 +0100 | trickard | (~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 246 seconds) |
| 2025-11-07 12:01:38 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 12:05:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 12:10:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-11-07 12:15:38 +0100 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2025-11-07 12:18:01 +0100 | trickard_ | trickard |
| 2025-11-07 12:21:11 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 12:26:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 12:36:59 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 12:41:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-11-07 12:43:27 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 2025-11-07 12:52:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 12:57:37 +0100 | merijn | (~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 +0100 | merijn | (~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 +0100 | merijn | (~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 +0100 | vulpine | (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 +0100 | Square3 | (~Square@user/square) Square |
| 2025-11-07 13:22:09 +0100 | Square2 | (~Square4@user/square) Square |
| 2025-11-07 13:22:27 +0100 | merijn | (~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 +0100 | wbrawner | (~wbrawner@129.146.105.153) (Remote host closed the connection) |
| 2025-11-07 13:25:36 +0100 | wbrawner | (~wbrawner@129.146.105.153) wbrawner |
| 2025-11-07 13:27:00 +0100 | gorignak | (~gorignak@user/gorignak) (Ping timeout: 245 seconds) |
| 2025-11-07 13:27:59 +0100 | trickard | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 13:28:13 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 13:28:23 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
| 2025-11-07 13:29:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-11-07 13:30:00 +0100 | merijn | (~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 +0100 | merijn | (~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 +0100 | kuribas` | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
| 2025-11-07 13:44:12 +0100 | kuribas | (~user@2a02:1808:d1:be31:ac10:dd83:cea2:1717) (Ping timeout: 244 seconds) |
| 2025-11-07 13:45:47 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 13:51:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 13:51:32 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 244 seconds) |
| 2025-11-07 13:52:44 +0100 | Zemy_ | (~Zemy@2600:100c:b0a1:9f27:50d3:74ff:fece:a256) |
| 2025-11-07 13:56:25 +0100 | Zemy | (~Zemy@72.178.108.235) (Ping timeout: 264 seconds) |
| 2025-11-07 13:57:37 +0100 | bggd | (~bgg@2a01:e0a:819:1510:488d:f1b1:72a6:5bef) (Remote host closed the connection) |
| 2025-11-07 13:59:46 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2025-11-07 14:00:26 +0100 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2025-11-07 14:01:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 14:06:36 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-11-07 14:07:42 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 14:08:03 +0100 | Square2 | (~Square4@user/square) Square |
| 2025-11-07 14:12:49 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-11-07 14:15:34 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 2025-11-07 14:23:13 +0100 | Zemy | (~Zemy@syn-192-154-181-091.biz.spectrum.com) |
| 2025-11-07 14:23:28 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 14:27:23 +0100 | Zemy_ | (~Zemy@2600:100c:b0a1:9f27:50d3:74ff:fece:a256) (Ping timeout: 250 seconds) |
| 2025-11-07 14:28:07 +0100 | merijn | (~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 +0100 | merijn | (~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 +0100 | merijn | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 14:59:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-07 15:04:05 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 15:04:17 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 15:04:48 +0100 | Zemy_ | (~Zemy@2600:100c:b0ab:d403:d483:98ff:fee4:d9f9) |
| 2025-11-07 15:04:49 +0100 | Zemy | (~Zemy@syn-192-154-181-091.biz.spectrum.com) (Read error: Connection reset by peer) |
| 2025-11-07 15:05:16 +0100 | Zemy | (~Zemy@syn-192-154-181-091.biz.spectrum.com) |
| 2025-11-07 15:08:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 15:09:18 +0100 | Zemy_ | (~Zemy@2600:100c:b0ab:d403:d483:98ff:fee4:d9f9) (Ping timeout: 256 seconds) |
| 2025-11-07 15:09:44 +0100 | Zemy_ | (~Zemy@2600:100c:b0ab:d403:cbc:dbff:fe6f:c62e) |
| 2025-11-07 15:11:25 +0100 | Zemy | (~Zemy@syn-192-154-181-091.biz.spectrum.com) (Ping timeout: 246 seconds) |
| 2025-11-07 15:13:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-11-07 15:15:19 +0100 | ft | (~ft@p4fc2aaeb.dip0.t-ipconnect.de) ft |
| 2025-11-07 15:22:20 +0100 | Zemy | (~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 +0100 | merijn | (~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 +0100 | Zemy_ | (~Zemy@2600:100c:b0ab:d403:cbc:dbff:fe6f:c62e) (Ping timeout: 256 seconds) |
| 2025-11-07 15:28:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 15:30:32 +0100 | Googulator30 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 15:30:54 +0100 | fp | (~Thunderbi@130.233.70.136) (Quit: fp) |
| 2025-11-07 15:31:15 +0100 | fp | (~Thunderbi@130.233.70.136) fp |
| 2025-11-07 15:31:46 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2025-11-07 15:32:04 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 15:32:17 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 15:37:27 +0100 | Googulator57 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 15:37:42 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 15:39:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 15:40:41 +0100 | Googulator30 | (~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 +0100 | trickard_ | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-11-07 15:46:02 +0100 | Googulator18 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 15:47:53 +0100 | <Square2> | oh there's filterM I guess |
| 2025-11-07 15:48:55 +0100 | Googulator57 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 15:50:40 +0100 | Googulator94 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 15:50:41 +0100 | <Square2> | nvm |
| 2025-11-07 15:54:07 +0100 | Googulator18 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 15:54:25 +0100 | Googulator94 | (~Googulato@team.broadbit.hu) (Client Quit) |
| 2025-11-07 15:54:40 +0100 | Googulator94 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 15:55:32 +0100 | merijn | (~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 +0100 | trickard_ | 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 +0100 | Anarchos | (~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 +0100 | merijn | (~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 +0100 | Sgeo | (~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 +0100 | fp | (~Thunderbi@130.233.70.136) (Ping timeout: 260 seconds) |
| 2025-11-07 16:07:36 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 252 seconds) |
| 2025-11-07 16:08:21 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 250 seconds) |
| 2025-11-07 16:09:42 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 16:16:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-07 16:18:49 +0100 | xff0x | (~xff0x@2405:6580:b080:900:f6a2:6697:d899:5ef3) |
| 2025-11-07 16:27:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 16:32:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-07 16:32:54 +0100 | Square2 | (~Square4@user/square) Square |
| 2025-11-07 16:37:23 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 244 seconds) |
| 2025-11-07 16:40:29 +0100 | Square3 | (~Square@user/square) (Ping timeout: 244 seconds) |
| 2025-11-07 16:43:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 16:44:28 +0100 | trickard | (~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 255 seconds) |
| 2025-11-07 16:44:48 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 16:46:41 +0100 | annamalai | (~annamalai@157.33.208.56) (Read error: Connection reset by peer) |
| 2025-11-07 16:47:02 +0100 | annamalai | (~annamalai@157.33.208.56) annamalai |
| 2025-11-07 16:48:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-11-07 16:52:34 +0100 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
| 2025-11-07 16:56:58 +0100 | Nachtgespenst | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 17:04:16 +0100 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp |
| 2025-11-07 17:04:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-11-07 17:05:56 +0100 | Googulator49 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 17:07:42 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 17:08:17 +0100 | Inline | (~inlinE@2a02:8071:57a1:dc0:a54f:a27d:cf25:667b) (Remote host closed the connection) |
| 2025-11-07 17:08:36 +0100 | Inline | (~inlinE@2a02:8071:57a1:dc0:a54f:a27d:cf25:667b) Inline |
| 2025-11-07 17:09:05 +0100 | Googulator94 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 17:09:18 +0100 | YoungFrog | (~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 +0100 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:9f50:13f1:779b:4aa6) youngfrog |
| 2025-11-07 17:14:25 +0100 | Anarchos | (~Anarchos@91-161-254-16.subs.proxad.net) (Read error: Connection reset by peer) |
| 2025-11-07 17:15:00 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 17:15:44 +0100 | Googulator78 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 17:19:03 +0100 | Googulator49 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 17:19:10 +0100 | tromp | (~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca) |
| 2025-11-07 17:23:17 +0100 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
| 2025-11-07 17:26:12 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 17:26:44 +0100 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Read error: Connection reset by peer) |
| 2025-11-07 17:26:54 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2025-11-07 17:27:03 +0100 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp |
| 2025-11-07 17:27:19 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 2025-11-07 17:28:15 +0100 | Lord_of_Life_ | Lord_of_Life |
| 2025-11-07 17:30:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-07 17:35:20 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
| 2025-11-07 17:35:43 +0100 | Googulator53 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 17:38:59 +0100 | Googulator78 | (~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 +0100 | merijn | (~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 +0100 | wootehfoot | (~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 +0100 | merijn | (~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 +0100 | Googulator16 | (~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 +0100 | Googulator53 | (~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 +0100 | michalz | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 17:59:10 +0100 | Anarchos | (~Anarchos@91-161-254-16.subs.proxad.net) Anarchos |
| 2025-11-07 18:01:00 +0100 | Googulator5 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 18:02:18 +0100 | tromp | (~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-11-07 18:02:52 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2025-11-07 18:04:07 +0100 | Googulator16 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 18:04:49 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 18:06:25 +0100 | tromp | (~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca) |
| 2025-11-07 18:10:45 +0100 | Googulator3 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 18:11:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 18:14:05 +0100 | Googulator5 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 18:14:30 +0100 | kuribas` | (~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 +0100 | merijn | (~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 +0100 | myxos | (~myxos@2001:579:8380:f20:6ebf:41cf:49b4:43a6) myxokephale |
| 2025-11-07 18:17:21 +0100 | Googulator3 | (~Googulato@team.broadbit.hu) (Quit: Client closed) |
| 2025-11-07 18:17:40 +0100 | Googulator3 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 18:18:02 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 18:18:15 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 18:19:37 +0100 | myxokephale | (~myxos@2001:579:8380:f20:f473:5072:5243:c7a6) (Ping timeout: 260 seconds) |
| 2025-11-07 18:24:04 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-11-07 18:25:09 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-11-07 18:27:30 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 18:32:44 +0100 | merijn | (~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 +0100 | acidjnk | (~acidjnk@2003:d6:e717:1922:4028:f2f:de8c:479) (Ping timeout: 260 seconds) |
| 2025-11-07 18:43:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 18:45:42 +0100 | Googulator3 | (~Googulato@team.broadbit.hu) (Quit: Client closed) |
| 2025-11-07 18:45:43 +0100 | Googulator78 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 18:46:08 +0100 | haritz | (~hrtz@user/haritz) (Remote host closed the connection) |
| 2025-11-07 18:48:06 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-11-07 18:48:12 +0100 | tromp | (~textual@2001:1c00:3487:1b00:5425:82ad:9644:72ca) (Ping timeout: 252 seconds) |
| 2025-11-07 18:49:49 +0100 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 264 seconds) |
| 2025-11-07 18:50:43 +0100 | emperori | (~emperori@2401:4900:6286:fc4d:c464:378c:4752:c5b7) |
| 2025-11-07 18:51:16 +0100 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2025-11-07 18:51:16 +0100 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2025-11-07 18:51:16 +0100 | haritz | (~hrtz@user/haritz) haritz |
| 2025-11-07 18:51:49 +0100 | emperori | (~emperori@2401:4900:6286:fc4d:c464:378c:4752:c5b7) (Remote host closed the connection) |
| 2025-11-07 18:56:28 +0100 | comonad | (~comonad@p200300d02741a000c6934c09e8b46dfd.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 2025-11-07 18:58:44 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2025-11-07 18:59:05 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 19:00:45 +0100 | Googulator69 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 19:02:16 +0100 | acidjnk | (~acidjnk@p200300d6e717192240280f2fde8c0479.dip0.t-ipconnect.de) acidjnk |
| 2025-11-07 19:03:35 +0100 | Googulator69 | (~Googulato@team.broadbit.hu) (Client Quit) |
| 2025-11-07 19:03:55 +0100 | Googulator78 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 19:03:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-11-07 19:03:58 +0100 | Googulator69 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 19:04:29 +0100 | machinedgod | (~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 +0100 | haritz | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 19:12:54 +0100 | comonad | (~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 +0100 | sord937 | (~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 +0100 | img | (~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 +0100 | haritz | (~hrtz@140.228.70.141) |
| 2025-11-07 19:14:41 +0100 | haritz | (~hrtz@140.228.70.141) (Changing host) |
| 2025-11-07 19:14:41 +0100 | haritz | (~hrtz@user/haritz) haritz |
| 2025-11-07 19:15:07 +0100 | <[exa]> | tomsmeding: oh wait ok I see |
| 2025-11-07 19:15:23 +0100 | img | (~img@user/img) img |
| 2025-11-07 19:15:30 +0100 | haritz | (~hrtz@user/haritz) (Remote host closed the connection) |
| 2025-11-07 19:15:40 +0100 | Googulator69 | (~Googulato@team.broadbit.hu) (Quit: Client closed) |
| 2025-11-07 19:15:43 +0100 | Googulator68 | (~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 +0100 | merijn | (~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 +0100 | Googulator41 | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 19:28:53 +0100 | Square3 | (~Square@user/square) Square |
| 2025-11-07 19:29:03 +0100 | Googulator68 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 19:29:44 +0100 | gmg | (~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 +0100 | Googulator41 | (~Googulato@team.broadbit.hu) (Quit: Client closed) |
| 2025-11-07 19:30:52 +0100 | Googulator53 | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-11-07 19:37:09 +0100 | gmg | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 19:49:24 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 2025-11-07 19:51:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-11-07 19:59:17 +0100 | ZLima12_ | (~zlima12@user/meow/ZLima12) () |
| 2025-11-07 20:01:59 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 20:04:21 +0100 | synchromesh | (~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) (Read error: Connection reset by peer) |
| 2025-11-07 20:05:25 +0100 | synchromesh | (~john@2406:5a00:2412:2c00:ad6b:d7bc:cf6f:605a) synchromesh |
| 2025-11-07 20:06:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-11-07 20:07:32 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-11-07 20:08:07 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 264 seconds) |
| 2025-11-07 20:09:40 +0100 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
| 2025-11-07 20:13:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 20:16:02 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 2025-11-07 20:16:13 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
| 2025-11-07 20:18:14 +0100 | haritz | (~hrtz@140.228.70.141) |
| 2025-11-07 20:18:14 +0100 | haritz | (~hrtz@140.228.70.141) (Changing host) |
| 2025-11-07 20:18:14 +0100 | haritz | (~hrtz@user/haritz) haritz |
| 2025-11-07 20:18:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-11-07 20:23:19 +0100 | michalz | (~michalz@185.246.207.215) (Remote host closed the connection) |
| 2025-11-07 20:27:03 +0100 | haritz | (~hrtz@user/haritz) (Remote host closed the connection) |
| 2025-11-07 20:29:32 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 20:34:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-11-07 20:45:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 20:47:09 +0100 | biberu | (~biberu@user/biberu) (Quit: ZNC - https://znc.in) |
| 2025-11-07 20:49:19 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds) |
| 2025-11-07 20:50:12 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
| 2025-11-07 20:50:42 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-11-07 20:51:03 +0100 | ZLima12 | (~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 +0100 | wootehfoot | (~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 +0100 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2025-11-07 20:58:43 +0100 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2025-11-07 20:58:43 +0100 | haritz | (~hrtz@user/haritz) haritz |
| 2025-11-07 20:59:10 +0100 | <monochrom> | Nice, I'll work with that. |
| 2025-11-07 21:00:38 +0100 | yauhsien | (~Yau-Hsien@118-168-140-77.dynamic-ip.hinet.net) yauhsien |
| 2025-11-07 21:01:07 +0100 | merijn | (~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 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-07 21:05:55 +0100 | Googulator34 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 21:09:08 +0100 | Googulator13 | (~Googulato@team.broadbit.hu) |
| 2025-11-07 21:09:09 +0100 | Googulator53 | (~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 +0100 | lisbeths | (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 +0100 | Googulator13 | (~Googulato@team.broadbit.hu) (Client Quit) |
| 2025-11-07 21:10:50 +0100 | Googulator11 | (~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 +0100 | Googulator34 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 21:14:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-07 21:17:49 +0100 | Googulator11 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-07 21:19:29 +0100 | merijn | (~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 +0100 | machinedgod | (~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 +0100 | merijn | (~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 +0100 | DetourNetworkUK | (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 +0100 | trickard_ | 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 +0100 | merijn | (~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 +0100 | target_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 +0100 | DetourNetworkUK | (~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 +0100 | merijn | (~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 +0100 | trickard | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-07 21:47:35 +0100 | trickard_ | (~trickard@cpe-57-98-47-163.wireline.com.au) |
| 2025-11-07 21:48:01 +0100 | merijn | (~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 +0100 | fgarcia | (~lei@user/fgarcia) (Quit: Remote host closed the connection) |
| 2025-11-07 21:58:51 +0100 | merijn | (~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 +0100 | ss4 | (~wootehfoo@user/wootehfoot) wootehfoot |
| 2025-11-07 22:03:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-11-07 22:05:41 +0100 | ss4 | (~wootehfoo@user/wootehfoot) (Client Quit) |
| 2025-11-07 22:06:37 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 264 seconds) |
| 2025-11-07 22:14:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |