| 2025-12-02 00:01:06 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-02 00:01:19 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-12-02 00:09:28 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 00:11:00 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-12-02 00:11:16 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-02 00:13:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 00:13:36 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c00:2cdd:fe3f:e613) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-02 00:19:15 +0100 | Anarchos | (~Anarchos@91-161-254-16.subs.proxad.net) Anarchos |
| 2025-12-02 00:24:09 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
| 2025-12-02 00:24:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 00:28:34 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2025-12-02 00:29:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-02 00:33:55 +0100 | Tuplanolla | (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) (Ping timeout: 240 seconds) |
| 2025-12-02 00:34:19 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
| 2025-12-02 00:40:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 00:41:01 +0100 | trickard_ | trickard |
| 2025-12-02 00:44:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 00:55:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 00:56:55 +0100 | mreh | (~matthew@host86-146-25-125.range86-146.btcentralplus.com) (Read error: Connection reset by peer) |
| 2025-12-02 01:00:39 +0100 | Anarchos | (~Anarchos@91-161-254-16.subs.proxad.net) (Remote host closed the connection) |
| 2025-12-02 01:02:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-02 01:09:39 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 244 seconds) |
| 2025-12-02 01:13:38 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 01:18:10 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-12-02 01:19:36 +0100 | xff0x | (~xff0x@2405:6580:b080:900:b802:6ec:1472:e908) (Ping timeout: 252 seconds) |
| 2025-12-02 01:20:21 +0100 | xff0x | (~xff0x@2405:6580:b080:900:1046:a27d:1c08:c893) |
| 2025-12-02 01:20:45 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 245 seconds) |
| 2025-12-02 01:21:09 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-12-02 01:27:55 +0100 | pavonia | (~user@user/siracusa) (Ping timeout: 240 seconds) |
| 2025-12-02 01:29:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 01:33:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 01:33:26 +0100 | pavonia | (~user@user/siracusa) siracusa |
| 2025-12-02 01:39:47 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 01:40:00 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-02 01:40:13 +0100 | Anarchos | (~Anarchos@91-161-254-16.subs.proxad.net) Anarchos |
| 2025-12-02 01:41:26 +0100 | yin | (~zero@user/zero) (Remote host closed the connection) |
| 2025-12-02 01:43:18 +0100 | yin | (~zero@user/zero) zero |
| 2025-12-02 01:44:38 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-02 01:52:14 +0100 | xff0x | (~xff0x@2405:6580:b080:900:1046:a27d:1c08:c893) (Ping timeout: 260 seconds) |
| 2025-12-02 01:52:47 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) szkl |
| 2025-12-02 01:54:39 +0100 | user363627 | (~user@user/user363627) user363627 |
| 2025-12-02 01:55:11 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 01:57:25 +0100 | weary-traveler | (~user@user/user363627) (Ping timeout: 245 seconds) |
| 2025-12-02 01:59:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 02:10:32 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 02:14:51 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-02 02:21:10 +0100 | omidmash2 | (~omidmash@user/omidmash) omidmash |
| 2025-12-02 02:23:01 +0100 | omidmash | (~omidmash@user/omidmash) (Ping timeout: 244 seconds) |
| 2025-12-02 02:23:01 +0100 | omidmash2 | omidmash |
| 2025-12-02 02:25:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 02:30:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-02 02:32:59 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-12-02 02:35:18 +0100 | ttybitnik | (~ttybitnik@user/wolper) (Quit: Fading out...) |
| 2025-12-02 02:36:10 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 2025-12-02 02:40:46 +0100 | Googulator60 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 02:40:54 +0100 | Googulator60 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 02:41:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 02:45:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 02:54:31 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2025-12-02 02:56:51 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 03:01:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-02 03:10:49 +0100 | Googulator68 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 03:11:17 +0100 | Googulator60 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 03:11:44 +0100 | trickard | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 03:12:07 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 03:12:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 03:16:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 03:25:34 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 260 seconds) |
| 2025-12-02 03:25:46 +0100 | Anarchos | (~Anarchos@91-161-254-16.subs.proxad.net) (Quit: Vision[]: i've been blurred!) |
| 2025-12-02 03:27:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 03:32:32 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-12-02 03:40:32 +0100 | Square | (~Square@user/square) Square |
| 2025-12-02 03:40:40 +0100 | Googulator68 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 03:40:45 +0100 | Googulator45 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 03:43:00 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 03:45:37 +0100 | Googulator45 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Client Quit) |
| 2025-12-02 03:45:54 +0100 | Googulator45 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 03:49:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-02 03:50:44 +0100 | dhs | (~dhs@user/dhscholb) dhscholb |
| 2025-12-02 03:58:03 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 2025-12-02 04:00:50 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-12-02 04:01:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 04:02:02 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 2025-12-02 04:05:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-12-02 04:06:01 +0100 | pabs3 | (~pabs3@user/pabs3) (Ping timeout: 250 seconds) |
| 2025-12-02 04:06:51 +0100 | pabs3 | (~pabs3@user/pabs3) pabs3 |
| 2025-12-02 04:08:46 +0100 | sefidel | (~sefidel@user/sefidel) (Remote host closed the connection) |
| 2025-12-02 04:09:35 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds) |
| 2025-12-02 04:09:51 +0100 | sefidel | (~sefidel@user/sefidel) sefidel |
| 2025-12-02 04:10:42 +0100 | Googulator45 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 04:10:49 +0100 | Googulator66 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 04:16:26 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 04:20:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 04:22:27 +0100 | spew | (~spew@user/spew) spew |
| 2025-12-02 04:23:20 +0100 | mvk | (~mvk@2607:fea8:5c9d:ee00::7e89) mvk |
| 2025-12-02 04:23:20 +0100 | mvk | (~mvk@2607:fea8:5c9d:ee00::7e89) (Client Quit) |
| 2025-12-02 04:29:44 +0100 | td_ | (~td@i53870926.versanet.de) (Ping timeout: 240 seconds) |
| 2025-12-02 04:31:38 +0100 | td_ | (~td@i53870902.versanet.de) |
| 2025-12-02 04:31:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 04:36:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-12-02 04:38:59 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2025-12-02 04:40:42 +0100 | Googulator66 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 04:40:46 +0100 | Googulator5 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 04:47:11 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 04:50:28 +0100 | omidmash | (~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat) |
| 2025-12-02 04:51:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-02 04:51:55 +0100 | sindu | (~sindu@2.148.32.207.tmi.telenormobil.no) (Ping timeout: 244 seconds) |
| 2025-12-02 04:54:58 +0100 | omidmash | (~omidmash@user/omidmash) omidmash |
| 2025-12-02 05:00:43 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-12-02 05:01:30 +0100 | hsw | (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) hsw |
| 2025-12-02 05:02:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 05:06:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 05:18:04 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 05:20:38 +0100 | Googulator5 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 05:20:45 +0100 | Googulator70 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 05:22:52 +0100 | hsw | (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) (Remote host closed the connection) |
| 2025-12-02 05:23:12 +0100 | hsw | (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) hsw |
| 2025-12-02 05:24:14 +0100 | spew | (~spew@user/spew) (Quit: nyaa~) |
| 2025-12-02 05:24:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-02 05:31:09 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 05:35:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 05:37:32 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 05:41:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 05:50:28 +0100 | Googulator70 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 05:50:39 +0100 | Googulator70 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 05:52:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 05:54:02 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 05:56:42 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 05:57:26 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-02 06:02:04 +0100 | Guest5 | (~Guest5@c-67-164-2-23.hsd1.ca.comcast.net) |
| 2025-12-02 06:02:21 +0100 | Guest5 | (~Guest5@c-67-164-2-23.hsd1.ca.comcast.net) (Client Quit) |
| 2025-12-02 06:02:35 +0100 | iqubic | (~sophia@2601:602:9203:1660:dd83:8e66:bfcb:8c1e) iqubic |
| 2025-12-02 06:04:40 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Ping timeout: 246 seconds) |
| 2025-12-02 06:06:42 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
| 2025-12-02 06:06:55 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 250 seconds) |
| 2025-12-02 06:08:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 06:12:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 06:13:51 +0100 | trickard_ | trickard |
| 2025-12-02 06:19:04 +0100 | karenw | (~karenw@user/karenw) karenw |
| 2025-12-02 06:23:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 06:27:05 +0100 | <Leary> | zoil: Let me quote myself: "There is a kind-of workaround for `Read`-like cases by taking a singleton as a constraint and matching on it, but then you have to supply that singleton constraint everywhere instead." |
| 2025-12-02 06:27:29 +0100 | trickard | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 06:27:42 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 06:28:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-02 06:29:52 +0100 | <Leary> | However, if you have multiple such cases, the same singleton constraint will cover all of them. Further, these constraints often useful in and of themselves. |
| 2025-12-02 06:30:42 +0100 | <Leary> | are often* |
| 2025-12-02 06:31:05 +0100 | trickard_ | trickard |
| 2025-12-02 06:39:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 06:43:21 +0100 | michalz | (~michalz@185.246.207.221) |
| 2025-12-02 06:43:36 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-12-02 06:44:02 +0100 | Square2 | (~Square4@user/square) Square |
| 2025-12-02 06:46:55 +0100 | Square | (~Square@user/square) (Ping timeout: 240 seconds) |
| 2025-12-02 06:54:26 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 06:55:42 +0100 | <iqubic> | Um... This is a strange LSP error. It looks like applying hlint code refactoring doesn't work on GHC 9.10 |
| 2025-12-02 06:55:47 +0100 | <iqubic> | 2025-12-02T05:54:01.159312Z | Error | hlint: Internal Error: Exception in plugin PluginId "hlint" while processing SMethod_CodeActionResolve: Cannot apply refactoring: apply-refact does not work on GHC 9.10 |
| 2025-12-02 06:57:00 +0100 | <iqubic> | And now my LSP just exited! |
| 2025-12-02 06:58:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 07:00:14 +0100 | <iqubic> | https://dpaste.alwaysdata.org/2T0oxtWG |
| 2025-12-02 07:00:53 +0100 | <iqubic> | I'm not sure if any of you know enough about the Haskell LSP to help me here. |
| 2025-12-02 07:07:04 +0100 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
| 2025-12-02 07:09:59 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 07:12:06 +0100 | <iqubic> | From what I can tell, this seems to be an issue with HLint, GHC 9.10.3, and NixOS. |
| 2025-12-02 07:12:13 +0100 | <iqubic> | https://github.com/haskell/haskell-language-server/issues/4674 |
| 2025-12-02 07:13:15 +0100 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 2025-12-02 07:14:49 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-02 07:22:08 +0100 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
| 2025-12-02 07:24:05 +0100 | bliminse | (~bliminse@user/bliminse) bliminse |
| 2025-12-02 07:25:22 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 07:29:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-02 07:38:30 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 07:42:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-02 07:44:30 +0100 | divlamir_ | (~divlamir@user/divlamir) divlamir |
| 2025-12-02 07:45:07 +0100 | divlamir | (~divlamir@user/divlamir) (Ping timeout: 246 seconds) |
| 2025-12-02 07:45:28 +0100 | divlamir_ | divlamir |
| 2025-12-02 07:50:44 +0100 | Googulator70 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 07:50:52 +0100 | Googulator29 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 07:53:20 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 2025-12-02 07:53:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 07:58:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-02 08:04:31 +0100 | X-Scale | (~ARM@6.67.114.89.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 2025-12-02 08:09:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 08:12:15 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2025-12-02 08:12:40 +0100 | tromp | (~textual@2001:1c00:3487:1b00:4073:6a24:b181:8b56) |
| 2025-12-02 08:16:04 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-02 08:16:12 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 2025-12-02 08:16:28 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
| 2025-12-02 08:19:30 +0100 | annamalai | (~annamalai@2409:4042:4dc2:f11::9e8a:e814) (Remote host closed the connection) |
| 2025-12-02 08:20:43 +0100 | Googulator29 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 08:20:50 +0100 | Googulator29 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 08:22:14 +0100 | annamalai | (~annamalai@157.32.222.111) annamalai |
| 2025-12-02 08:23:09 +0100 | annamalai | (~annamalai@157.32.222.111) (Remote host closed the connection) |
| 2025-12-02 08:23:40 +0100 | annamalai | (~annamalai@157.32.222.111) annamalai |
| 2025-12-02 08:27:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 08:27:50 +0100 | annamalai | (~annamalai@157.32.222.111) (Ping timeout: 245 seconds) |
| 2025-12-02 08:29:42 +0100 | hc | (~hc@mail.hce.li) (Remote host closed the connection) |
| 2025-12-02 08:31:30 +0100 | annamalai | (~annamalai@157.32.222.111) annamalai |
| 2025-12-02 08:31:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-12-02 08:32:50 +0100 | vgtw | (~vgtw@user/vgtw) (Ping timeout: 245 seconds) |
| 2025-12-02 08:34:44 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Ping timeout: 272 seconds) |
| 2025-12-02 08:36:30 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) marinelli |
| 2025-12-02 08:39:01 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-12-02 08:39:30 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 08:41:19 +0100 | simplystuart | (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 244 seconds) |
| 2025-12-02 08:41:34 +0100 | hc | (~hc@mail.hce.li) hc |
| 2025-12-02 08:42:55 +0100 | Pixi | (~Pixi@user/pixi) (Ping timeout: 240 seconds) |
| 2025-12-02 08:44:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-02 08:44:28 +0100 | simplystuart | (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 2025-12-02 08:45:47 +0100 | Pixi | (~Pixi@user/pixi) Pixi |
| 2025-12-02 08:50:43 +0100 | Googulator29 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 08:50:49 +0100 | Googulator32 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 08:51:05 +0100 | hc | (~hc@mail.hce.li) (Remote host closed the connection) |
| 2025-12-02 08:51:43 +0100 | lucabtz | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-02 08:51:55 +0100 | hc | (~hc@mail.hce.li) hc |
| 2025-12-02 08:55:50 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-02 08:56:02 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
| 2025-12-02 08:56:40 +0100 | annamalai | (~annamalai@157.32.222.111) (Remote host closed the connection) |
| 2025-12-02 08:57:12 +0100 | annamalai | (~annamalai@157.32.222.111) annamalai |
| 2025-12-02 09:00:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-12-02 09:20:35 +0100 | Googulator32 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 09:20:42 +0100 | Googulator22 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 09:23:52 +0100 | YouDontKnowMe | (~YouDontKn@2a06:3040:11:610::d101) |
| 2025-12-02 09:26:12 +0100 | YouDontKnowMe | (~YouDontKn@2a06:3040:11:610::d101) (Client Quit) |
| 2025-12-02 09:26:38 +0100 | karenw | (~karenw@user/karenw) (Ping timeout: 260 seconds) |
| 2025-12-02 09:34:40 +0100 | <lucabtz> | there is no string splitting in base? |
| 2025-12-02 09:39:34 +0100 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) (Ping timeout: 246 seconds) |
| 2025-12-02 09:41:06 +0100 | trickard | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 09:41:19 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 09:41:56 +0100 | <Rembane> | lucabtz: There's span and break and partition and take and drop and takeWhile and dropWhile |
| 2025-12-02 09:43:45 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Remote host closed the connection) |
| 2025-12-02 09:44:22 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds) |
| 2025-12-02 09:50:10 +0100 | <dminuoso> | 21:18:59 tomsmeding │ it seems the theme of today is "words mean different things to different people" |
| 2025-12-02 09:50:42 +0100 | Googulator31 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 09:50:43 +0100 | Googulator22 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 09:50:47 +0100 | <dminuoso> | Human language is messy, imprecise and under constant change. |
| 2025-12-02 09:51:56 +0100 | <dminuoso> | Heck, if you just go through pure math publications, you see so many conflicting notation styles or conflicting terminology choices... its best to not dwell on what people call things and just be able to adjust your reference frame in a discussion... |
| 2025-12-02 09:52:20 +0100 | <dminuoso> | Especially when its people from different fields/languages/paradigms... |
| 2025-12-02 09:55:39 +0100 | merijn | (~merijn@77.242.116.146) merijn |
| 2025-12-02 10:02:54 +0100 | <lucabtz> | Rembane yeah i made one with takeWhile and dropWhile |
| 2025-12-02 10:03:54 +0100 | fp1 | (~Thunderbi@2001:708:20:1406::1370) fp |
| 2025-12-02 10:04:46 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 256 seconds) |
| 2025-12-02 10:04:59 +0100 | Inline | (~inlinE@2001-4dd3-7fc8-0-2be-fec0-ba58-7d11.ipv6dyn.netcologne.de) (Remote host closed the connection) |
| 2025-12-02 10:05:18 +0100 | Inline | (~inlinE@2001-4dd3-7fc8-0-2be-fec0-ba58-7d11.ipv6dyn.netcologne.de) Inline |
| 2025-12-02 10:05:31 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2025-12-02 10:09:30 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2025-12-02 10:10:02 +0100 | dhs | (~dhs@user/dhscholb) () |
| 2025-12-02 10:10:37 +0100 | <chromoblob> | dminuoso: mind sharing which IRC client you use? interesting |
| 2025-12-02 10:14:45 +0100 | merijn | (~merijn@77.242.116.146) merijn |
| 2025-12-02 10:17:25 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 10:17:39 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 10:20:43 +0100 | Googulator31 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 10:20:45 +0100 | Googulator22 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 10:21:23 +0100 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
| 2025-12-02 10:23:39 +0100 | kuribas | (~user@2a02:1808:d1:d243:9821:bd8c:f208:7dc) kuribas |
| 2025-12-02 10:24:49 +0100 | <kuribas> | Funny how haskell makes easy things harder sometimes. I have a list of items, and I need to produce another list, but flatten it (so like a list monad). But I also want to have some state variable. |
| 2025-12-02 10:25:23 +0100 | <Lycurgus> | wrong lang 4 state |
| 2025-12-02 10:25:37 +0100 | <Lycurgus> | easy state anywho |
| 2025-12-02 10:25:39 +0100 | <merijn> | kuribas: That just sounds like scanl + flatten? |
| 2025-12-02 10:25:52 +0100 | <kuribas> | So I could: 1) use traverse on the list, using an inner state monad, then flatten. 2) make a list and state monad. 3) do an explicit tail recursive loop. |
| 2025-12-02 10:25:55 +0100 | chele | (~chele@user/chele) chele |
| 2025-12-02 10:26:08 +0100 | <kuribas> | :t scanl |
| 2025-12-02 10:26:09 +0100 | <Lycurgus> | state u dont even think about hardly |
| 2025-12-02 10:26:10 +0100 | <lambdabot> | (b -> a -> b) -> b -> [a] -> [b] |
| 2025-12-02 10:26:54 +0100 | <kuribas> | Concretely, I want to generate some SQL query, but I need to generate aliases for tables, like alias1, alias2 (the state). |
| 2025-12-02 10:27:17 +0100 | <Axman6> | or mapAccumL/R |
| 2025-12-02 10:27:46 +0100 | <kuribas> | Funny, one of my colleages went to university in Glasgow, she never did haskell because it was to complicated... |
| 2025-12-02 10:27:53 +0100 | <kuribas> | But she is doing clojure now. |
| 2025-12-02 10:29:10 +0100 | DetourNetworkUK | (DetourNetw@user/DetourNetworkUK) DetourNetworkUK |
| 2025-12-02 10:32:02 +0100 | <sprout> | I just wrote a foldl_with_state in Egel |
| 2025-12-02 10:32:09 +0100 | <sprout> | not everything has to be a monad |
| 2025-12-02 10:32:20 +0100 | <Axman6> | that definitely sounds like mapAccumL to me ... |
| 2025-12-02 10:32:23 +0100 | <Axman6> | :t mapAccumL |
| 2025-12-02 10:32:25 +0100 | <lambdabot> | Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b) |
| 2025-12-02 10:32:34 +0100 | kuribas | (~user@2a02:1808:d1:d243:9821:bd8c:f208:7dc) (Ping timeout: 260 seconds) |
| 2025-12-02 10:33:11 +0100 | <Lycurgus> | hs is a wonderment in that it managed to become quite practically while going full on ivory tower dont give a damn if u think it's a ball breaker |
| 2025-12-02 10:33:22 +0100 | <Lycurgus> | *quite practical |
| 2025-12-02 10:34:07 +0100 | <dminuoso> | chromoblob: Weechat. |
| 2025-12-02 10:34:22 +0100 | <lucabtz> | i ended up doing like this Rembane https://paste.tomsmeding.com/gp5xEGzv |
| 2025-12-02 10:34:37 +0100 | <Lycurgus> | the type sig circle jerks being a prime epiphenomon of that |
| 2025-12-02 10:34:47 +0100 | <sprout> | Axman6: yah, that must be the same thing |
| 2025-12-02 10:35:49 +0100 | DetourNetworkUK | (DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2025-12-02 10:36:49 +0100 | DetourNetworkUK | (DetourNetw@user/DetourNetworkUK) DetourNetworkUK |
| 2025-12-02 10:38:08 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2025-12-02 10:39:14 +0100 | merijn | (~merijn@77.242.116.146) merijn |
| 2025-12-02 10:49:29 +0100 | vgtw | (~vgtw@user/vgtw) vgtw |
| 2025-12-02 10:50:47 +0100 | Googulator26 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 10:50:47 +0100 | Googulator22 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 10:55:08 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
| 2025-12-02 10:55:42 +0100 | <kuribas> | :t mapAccumL |
| 2025-12-02 10:55:43 +0100 | <lambdabot> | Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b) |
| 2025-12-02 10:56:23 +0100 | <kuribas> | I can make a transformer, but "StateT [] s a" would not work, as it trows away state. |
| 2025-12-02 10:56:41 +0100 | <kuribas> | Maybe ListT done right: ListT (State s) a |
| 2025-12-02 10:58:15 +0100 | vgtw | (~vgtw@user/vgtw) (Ping timeout: 240 seconds) |
| 2025-12-02 10:58:56 +0100 | <kuribas> | or easier : concat $ runState $ traverse (state $ \s -> [...]) l |
| 2025-12-02 10:59:26 +0100 | vgtw | (~vgtw@user/vgtw) vgtw |
| 2025-12-02 11:03:06 +0100 | <kuribas> | :t ListT |
| 2025-12-02 11:03:08 +0100 | <lambdabot> | error: [GHC-88464] |
| 2025-12-02 11:03:08 +0100 | <lambdabot> | Data constructor not in scope: ListT |
| 2025-12-02 11:03:08 +0100 | <lambdabot> | Suggested fix: Perhaps use ‘List’ (imported from Control.Lens) |
| 2025-12-02 11:03:42 +0100 | fp1 | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 252 seconds) |
| 2025-12-02 11:06:23 +0100 | <kuribas> | :t \f l -> concat $ flip runState 1 $ traverse (State . f) l |
| 2025-12-02 11:06:25 +0100 | <lambdabot> | error: [GHC-01928] |
| 2025-12-02 11:06:25 +0100 | <lambdabot> | • Illegal term-level use of the type constructor ‘State’ |
| 2025-12-02 11:06:25 +0100 | <lambdabot> | • imported from ‘Control.Monad.State’ at /home/lambda/.lambdabot/State/L.hs:65:1-26 |
| 2025-12-02 11:07:27 +0100 | <kuribas> | lambdabot: It's a type synonym ... |
| 2025-12-02 11:08:38 +0100 | comerijn | (~merijn@77.242.116.146) merijn |
| 2025-12-02 11:10:13 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2025-12-02 11:10:55 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2025-12-02 11:11:47 +0100 | <kuribas> | Isn't ListT done right a logic monad? |
| 2025-12-02 11:12:04 +0100 | kritzefitz | (~kritzefit@debian/kritzefitz) () |
| 2025-12-02 11:12:40 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-12-02 11:13:45 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-02 11:14:27 +0100 | <tomsmeding> | :t \f l -> concat $ flip runState 1 $ traverse (state . f) l |
| 2025-12-02 11:14:29 +0100 | <lambdabot> | (Traversable t, Num [a1]) => (a2 -> [a1] -> (b, [a1])) -> t a2 -> [a1] |
| 2025-12-02 11:15:24 +0100 | <kuribas> | tomsmeding: https://hackage.haskell.org/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State |
| 2025-12-02 11:15:46 +0100 | <tomsmeding> | oh your were complaining about "type constructor" |
| 2025-12-02 11:15:56 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection) |
| 2025-12-02 11:16:02 +0100 | <kuribas> | ah wait, it's StateT ... |
| 2025-12-02 11:16:06 +0100 | <kuribas> | sorry... |
| 2025-12-02 11:16:18 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) marinelli |
| 2025-12-02 11:16:41 +0100 | <kuribas> | :t \f l -> concat $ flip runState 1 $ traverse (StateT . f) l |
| 2025-12-02 11:16:42 +0100 | <lambdabot> | (Num [a1], Traversable t) => (a2 -> [a1] -> Identity (b, [a1])) -> t a2 -> [a1] |
| 2025-12-02 11:16:44 +0100 | vgtw | (~vgtw@user/vgtw) (Ping timeout: 244 seconds) |
| 2025-12-02 11:16:58 +0100 | <tomsmeding> | kuribas: I don't see how ListT is relevant here, but then I don't really understand your usecase yet; ListT is for nondeterminism |
| 2025-12-02 11:17:16 +0100 | <tomsmeding> | or "cartesian product of the possibilities" |
| 2025-12-02 11:17:46 +0100 | <kuribas> | tomsmeding: I just wanted to use bind (>>=), but with a monad stack. Like a list comprehension with state. |
| 2025-12-02 11:18:14 +0100 | <tomsmeding> | is it that you want to loop over a list with some state, and while doing so, generate values to be stored in a returned list at the end? |
| 2025-12-02 11:18:14 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
| 2025-12-02 11:18:24 +0100 | <kuribas> | yeah |
| 2025-12-02 11:18:43 +0100 | <tomsmeding> | this? https://paste.tomsmeding.com/r70Fuwb3 |
| 2025-12-02 11:19:10 +0100 | <kuribas> | tomsmeding: yes :) |
| 2025-12-02 11:19:21 +0100 | <tomsmeding> | instantiate m to State and roll |
| 2025-12-02 11:20:06 +0100 | <tomsmeding> | note the swap because mapAccumL and runState do not agree on which part of the pair should go which way :p |
| 2025-12-02 11:20:37 +0100 | Googulator26 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 11:20:47 +0100 | Googulator26 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 11:21:00 +0100 | vgtw | (~vgtw@user/vgtw) vgtw |
| 2025-12-02 11:22:13 +0100 | <tomsmeding> | uh, no, don't instantiate m to State |
| 2025-12-02 11:22:21 +0100 | <tomsmeding> | the state is already there, lol |
| 2025-12-02 11:22:45 +0100 | <tomsmeding> | anyway this is a function that I needed at some point and couldn't find in the standard libraries |
| 2025-12-02 11:24:19 +0100 | <kuribas> | Another interesting solution would be to use coroutines, and have one routine for generating the tables aliases. |
| 2025-12-02 11:24:34 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 246 seconds) |
| 2025-12-02 11:24:43 +0100 | acidjnk | (~acidjnk@p200300d6e71719443da791614ae70cbb.dip0.t-ipconnect.de) acidjnk |
| 2025-12-02 11:24:45 +0100 | <tomsmeding> | and 'send out' the aliases to the coroutine via a channel? |
| 2025-12-02 11:25:15 +0100 | <kuribas> | yes |
| 2025-12-02 11:25:35 +0100 | <kuribas> | I just feel like all of this is more complicated than equivalent python. |
| 2025-12-02 11:25:59 +0100 | <tomsmeding> | my knowledge of funny programming languages is not large enough to be able to point to which one, but I feel like there's a language where this would be the "neat" solution |
| 2025-12-02 11:26:06 +0100 | <tomsmeding> | I don't think it's Haskell :p |
| 2025-12-02 11:27:22 +0100 | vgtw | (~vgtw@user/vgtw) (Ping timeout: 246 seconds) |
| 2025-12-02 11:29:42 +0100 | <kuribas> | python would be something like this: https://gist.github.com/kuribas/bfeb96b35699d6a4f64b50f4732d62b9 |
| 2025-12-02 11:30:24 +0100 | vgtw | (~vgtw@user/vgtw) vgtw |
| 2025-12-02 11:30:56 +0100 | <tomsmeding> | I see you haven't been programming python recently with the syntax errors, but otherwise yes :p |
| 2025-12-02 11:31:05 +0100 | <tomsmeding> | although the 'break' may be tricky |
| 2025-12-02 11:31:18 +0100 | <kuribas> | actually I have |
| 2025-12-02 11:31:31 +0100 | <tomsmeding> | (= instead of ==, elif instead of else if) |
| 2025-12-02 11:31:38 +0100 | <kuribas> | elif is valid python |
| 2025-12-02 11:31:42 +0100 | <tomsmeding> | is it? |
| 2025-12-02 11:31:51 +0100 | <tomsmeding> | oh right |
| 2025-12-02 11:32:04 +0100 | <tomsmeding> | then what's github's syntax highlighter up about |
| 2025-12-02 11:32:15 +0100 | <kuribas> | I forgot a colon. |
| 2025-12-02 11:32:23 +0100 | <tomsmeding> | oh |
| 2025-12-02 11:37:15 +0100 | vgtw | (~vgtw@user/vgtw) (Ping timeout: 240 seconds) |
| 2025-12-02 11:37:35 +0100 | comerijn | (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2025-12-02 11:37:35 +0100 | vgtw | (~vgtw@user/vgtw) vgtw |
| 2025-12-02 11:38:39 +0100 | <Leary> | kuribas: How about `foldA :: (Foldable t, Applicative f, Monoid b) => (a -> f b) -> t a -> f b; foldA f = getAp . foldMap (Ap . f)`? `f` can be `State s`, `b` can be a list ... |
| 2025-12-02 11:38:49 +0100 | <Leary> | Or flip the args and call it `forA`, even better. |
| 2025-12-02 11:39:43 +0100 | tromp | (~textual@2001:1c00:3487:1b00:4073:6a24:b181:8b56) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-02 11:40:19 +0100 | haritz | (~hrtz@140.228.70.141) |
| 2025-12-02 11:40:19 +0100 | haritz | (~hrtz@140.228.70.141) (Changing host) |
| 2025-12-02 11:40:19 +0100 | haritz | (~hrtz@user/haritz) haritz |
| 2025-12-02 11:42:46 +0100 | trickard_ | trickard |
| 2025-12-02 11:44:25 +0100 | <kuribas> | foldmap? |
| 2025-12-02 11:45:42 +0100 | <Leary> | Yes, `foldMap`. It sure doesn't sound like you need `traverse`. |
| 2025-12-02 11:45:47 +0100 | dhil | (~dhil@5.151.29.141) dhil |
| 2025-12-02 11:46:02 +0100 | tromp | (~textual@2001:1c00:3487:1b00:4073:6a24:b181:8b56) |
| 2025-12-02 11:49:49 +0100 | <kuribas> | :t ala |
| 2025-12-02 11:49:51 +0100 | <lambdabot> | (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s) |
| 2025-12-02 11:50:30 +0100 | <kuribas> | :t alaf Ap foldMap |
| 2025-12-02 11:50:32 +0100 | <lambdabot> | k1} {a}. (Foldable t, Monoid (Ap g b)) => (a -> g b) -> t a -> g b |
| 2025-12-02 11:50:34 +0100 | merijn | (~merijn@77.242.116.146) merijn |
| 2025-12-02 11:50:50 +0100 | Googulator26 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 11:50:51 +0100 | Googulator56 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 11:51:46 +0100 | <kuribas> | :t alaf StateT traverse |
| 2025-12-02 11:51:48 +0100 | <lambdabot> | (Traversable t, Monad m') => (a -> s' -> m' (a', s')) -> t a -> s' -> m' (t a', s') |
| 2025-12-02 12:05:38 +0100 | <kuribas> | :t alaf state traverse |
| 2025-12-02 12:05:40 +0100 | <lambdabot> | (Unwrapped (m (t b)) ~ (s -> (t b, s)), Rewrapped (m b) (m (t b)), Rewrapped (m (t b)) (m b), MonadState s m, Traversable t) => (a -> Unwrapped (m b)) -> t a -> Unwrapped (m (t b)) |
| 2025-12-02 12:06:53 +0100 | <kuribas> | I have a haskell script that I made for my own use. But there may be interest, though like not haskell :-( |
| 2025-12-02 12:07:08 +0100 | <kuribas> | I could 1) dockerize it, 2) rewrite in python/clojure/... |
| 2025-12-02 12:08:40 +0100 | energizer | (~energizer@user/energizer) (Quit: ZNC 1.7.0+deb0+xenial1 - https://znc.in) |
| 2025-12-02 12:10:22 +0100 | poscat0x04 | (~poscat@user/poscat) poscat |
| 2025-12-02 12:11:02 +0100 | energizer | (~energizer@user/energizer) energizer |
| 2025-12-02 12:11:15 +0100 | poscat | (~poscat@user/poscat) (Ping timeout: 240 seconds) |
| 2025-12-02 12:11:36 +0100 | wbooze | (~wbooze@cgn-195-14-217-157.nc.de) Inline |
| 2025-12-02 12:15:32 +0100 | trickard | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 12:15:47 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 12:16:40 +0100 | wbooze | (~wbooze@cgn-195-14-217-157.nc.de) (Quit: Leaving) |
| 2025-12-02 12:17:50 +0100 | wbooze | (~wbooze@cgn-195-14-217-157.nc.de) Inline |
| 2025-12-02 12:20:42 +0100 | Googulator56 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 12:20:49 +0100 | Googulator7 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 12:22:36 +0100 | xff0x | (~xff0x@2405:6580:b080:900:b577:52ee:470:5943) |
| 2025-12-02 12:27:25 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 245 seconds) |
| 2025-12-02 12:35:24 +0100 | <kuribas> | Is there a corouting library that can allow you to take arbitrary routines as argument? |
| 2025-12-02 12:35:45 +0100 | <kuribas> | Instead of "x <- await", "x <- await routineA". |
| 2025-12-02 12:36:52 +0100 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
| 2025-12-02 12:39:06 +0100 | <kuribas> | conduit can only await from a single source |
| 2025-12-02 12:51:55 +0100 | <kuribas> | Maybe just a ST or IO monad, with Streamly or ListT stored into IORefs. |
| 2025-12-02 12:54:52 +0100 | Inline | (~inlinE@2001-4dd3-7fc8-0-2be-fec0-ba58-7d11.ipv6dyn.netcologne.de) (Ping timeout: 246 seconds) |
| 2025-12-02 12:56:54 +0100 | merijn | (~merijn@77.242.116.146) merijn |
| 2025-12-02 12:58:04 +0100 | Digitteknohippie | Digit |
| 2025-12-02 13:03:29 +0100 | Inline | (~inlinE@2001-4dd3-7fc8-0-c092-91dd-c569-3f74.ipv6dyn.netcologne.de) Inline |
| 2025-12-02 13:03:29 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 13:06:12 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 13:11:52 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-12-02 13:14:14 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 13:16:05 +0100 | confusedalex | (~confuseda@user/confusedalex) (Remote host closed the connection) |
| 2025-12-02 13:17:04 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 260 seconds) |
| 2025-12-02 13:17:10 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 13:18:06 +0100 | comerijn | (~merijn@77.242.116.146) merijn |
| 2025-12-02 13:20:31 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 13:20:35 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2025-12-02 13:27:25 +0100 | tromp | (~textual@2001:1c00:3487:1b00:4073:6a24:b181:8b56) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-02 13:27:28 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 13:29:55 +0100 | comerijn | (~merijn@77.242.116.146) (Ping timeout: 245 seconds) |
| 2025-12-02 13:29:56 +0100 | <[exa]> | kuribas: what do you mean with arbitrary |
| 2025-12-02 13:32:38 +0100 | <[exa]> | ah like, choose what routine to wait for at a given point |
| 2025-12-02 13:34:49 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 13:35:27 +0100 | <[exa]> | seems like conduit really can't, there's no space for that in the data structure... https://hackage-content.haskell.org/package/conduit-1.3.6.1/docs/src/Data.Conduit.Internal.Pipe.ht… |
| 2025-12-02 13:36:12 +0100 | <[exa]> | with Streaming this is pretty simple (you can unpack multiple sources yourself) but streaming is much less coroutine-ish |
| 2025-12-02 13:37:40 +0100 | Inline | (~inlinE@2001-4dd3-7fc8-0-c092-91dd-c569-3f74.ipv6dyn.netcologne.de) (Ping timeout: 265 seconds) |
| 2025-12-02 13:38:06 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 13:39:29 +0100 | merijn | (~merijn@77.242.116.146) merijn |
| 2025-12-02 13:48:00 +0100 | <lucabtz> | (spoiler advent of code) someone wants to comment my solution so i can improve https://paste.tomsmeding.com/0wThIO6g |
| 2025-12-02 13:48:07 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2025-12-02 13:50:15 +0100 | AlexZenon | (~alzenon@85.174.183.216) (Quit: ;-) |
| 2025-12-02 13:51:37 +0100 | AlexNoo | (~AlexNoo@85.174.183.216) (Quit: Leaving) |
| 2025-12-02 13:54:20 +0100 | merijn | (~merijn@77.242.116.146) merijn |
| 2025-12-02 13:55:42 +0100 | Anarchos | (~Anarchos@91-161-254-16.subs.proxad.net) Anarchos |
| 2025-12-02 13:56:10 +0100 | <kuribas> | [exa]: arbitrary number or types of streams. |
| 2025-12-02 13:57:11 +0100 | <kuribas> | Now that I think of it (ListT IO) or (ListT (ST s)), stored in a IORef or STRef makes for an excelent coroutine. |
| 2025-12-02 13:57:54 +0100 | <[exa]> | yeah, if you don't mind losing the safety net of the streaming library around it it's IMO quite the way to go |
| 2025-12-02 13:58:52 +0100 | <[exa]> | anyway I did this recently with streaming (few days back in scrollback), it's essentially this idea, except without the unnecessary ioref |
| 2025-12-02 13:59:58 +0100 | <kuribas> | [exa]: you mean exceptions? |
| 2025-12-02 14:00:37 +0100 | <[exa]> | yeah partially exceptions and partially having to watch who's doing what with the global ioref |
| 2025-12-02 14:01:40 +0100 | <Rembane> | lucabtz: I like that one! Nice! |
| 2025-12-02 14:02:14 +0100 | <lucabtz> | Rembane thanks |
| 2025-12-02 14:02:19 +0100 | <lucabtz> | part 2 is a bit slow |
| 2025-12-02 14:02:40 +0100 | <lucabtz> | wait or you mean the split i posted earlier |
| 2025-12-02 14:02:43 +0100 | <[exa]> | lucabtz: not sure how much I'd spoil here if I give hints... but have you considered pre-splitting the numbers on input and looking at them like at pairs of intervals? |
| 2025-12-02 14:02:48 +0100 | <Rembane> | lucabtz: I meant the split! :) |
| 2025-12-02 14:03:13 +0100 | <[exa]> | lucabtz: in which case you should be able to avoid scanning through the whole range |
| 2025-12-02 14:03:19 +0100 | <kuribas> | [exa]: would bracket help? |
| 2025-12-02 14:03:29 +0100 | <[exa]> | kuribas: probably |
| 2025-12-02 14:03:34 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 14:03:45 +0100 | <[exa]> | kuribas: sec, I'll show a piece of code that does something similar with streaming |
| 2025-12-02 14:03:47 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 14:04:27 +0100 | <kuribas> | Streaming, ListT and Streamly all look similar. |
| 2025-12-02 14:04:36 +0100 | <[exa]> | kuribas: https://paste.tomsmeding.com/L7EFsnUc |
| 2025-12-02 14:04:37 +0100 | <kuribas> | ListT seems simpler, while Streamly is focussed on performance. |
| 2025-12-02 14:07:23 +0100 | <[exa]> | man, streamly is huge |
| 2025-12-02 14:08:03 +0100 | Enrico63 | (~Enrico63@host-212-171-79-170.pool212171.interbusiness.it) Enrico63 |
| 2025-12-02 14:08:07 +0100 | X-Scale | (~ARM@6.67.114.89.rev.vodafone.pt) X-Scale |
| 2025-12-02 14:09:01 +0100 | <lucabtz> | Rembane thanks, i replace takeWhile and dropWhile with break which seemed more appropriate |
| 2025-12-02 14:09:24 +0100 | <Rembane> | lucabtz: Yeah, and it should be faster, but I haven't measured. |
| 2025-12-02 14:09:35 +0100 | trickard_ | trickard |
| 2025-12-02 14:09:55 +0100 | <lucabtz> | i suppose it can do two operations at once right |
| 2025-12-02 14:10:14 +0100 | <[exa]> | yeah it saves 1 list walk |
| 2025-12-02 14:10:41 +0100 | <lucabtz> | [exa] im not sure exactly what you mean |
| 2025-12-02 14:10:53 +0100 | <[exa]> | lucabtz: with the 1 list walk, or with the above hint? |
| 2025-12-02 14:11:06 +0100 | <lucabtz> | no the hint, the list walk i understand |
| 2025-12-02 14:11:40 +0100 | <[exa]> | okay so if I read the code right, you're taking all the numbers one by one, cut them in half and compare the halves, right? |
| 2025-12-02 14:11:58 +0100 | <lucabtz> | yep |
| 2025-12-02 14:12:10 +0100 | <[exa]> | <possible spoilers start> |
| 2025-12-02 14:12:15 +0100 | <lucabtz> | i must say though the part cutting them in half is not slow |
| 2025-12-02 14:12:26 +0100 | <lucabtz> | its the other part which is slow |
| 2025-12-02 14:13:16 +0100 | <lucabtz> | tbh i havent measured but you have it basically instantly |
| 2025-12-02 14:13:38 +0100 | <lucabtz> | if you want you can pm me to avoid the spoilers! |
| 2025-12-02 14:13:45 +0100 | <[exa]> | ah ok |
| 2025-12-02 14:17:02 +0100 | AlexNoo | (~AlexNoo@85.174.183.216) |
| 2025-12-02 14:18:03 +0100 | __monty__ | (~toonn@user/toonn) toonn |
| 2025-12-02 14:20:13 +0100 | <kuribas> | [exa]: how does conduit take care of exceptions? |
| 2025-12-02 14:21:21 +0100 | adamCS | (~adamCS@70.19.85.77) (Remote host closed the connection) |
| 2025-12-02 14:23:25 +0100 | <[exa]> | no clue tbh |
| 2025-12-02 14:30:46 +0100 | AlexZenon | (~alzenon@85.174.183.216) |
| 2025-12-02 14:36:38 +0100 | trickard | (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-02 14:39:19 +0100 | trickard_ | (~trickard@cpe-85-98-47-163.wireline.com.au) |
| 2025-12-02 14:41:05 +0100 | adamCS | (~adamCS@70.19.85.77) adamCS |
| 2025-12-02 14:43:30 +0100 | <ski> | @type let mapAccumLM :: (Traversable t,Monad m) => (s -> a -> m (s,b)) -> s -> t a -> m (s,t b); mapAccumLM f s0 = fmap swap . flip runStateT s0 . traverse (StateT . (fmap swap .) . flip f) in mapAccumLM -- `mapAccumLM' ~= `traverse' on `StateT' |
| 2025-12-02 14:43:33 +0100 | <lambdabot> | (Traversable t, Monad m) => (s -> a -> m (s, b)) -> s -> t a -> m (s, t b) |
| 2025-12-02 14:54:07 +0100 | tromp | (~textual@2001:1c00:3487:1b00:4073:6a24:b181:8b56) |
| 2025-12-02 14:54:52 +0100 | sindu | (~sindu@2.148.32.207.tmi.telenormobil.no) |
| 2025-12-02 14:57:09 +0100 | adamCS | (~adamCS@70.19.85.77) (Remote host closed the connection) |
| 2025-12-02 14:58:55 +0100 | adamCS | (~adamCS@70.19.85.77) adamCS |
| 2025-12-02 15:10:45 +0100 | Googulator7 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-02 15:10:51 +0100 | Googulator13 | (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) |
| 2025-12-02 15:11:24 +0100 | tt123160 | (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Ping timeout: 260 seconds) |
| 2025-12-02 15:18:22 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) (Remote host closed the connection) |
| 2025-12-02 15:23:49 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2025-12-02 15:30:16 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 246 seconds) |