| 2025-12-19 00:03:11 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) |
| 2025-12-19 00:07:29 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 00:09:59 +0100 | infinity0 | (~infinity0@pwned.gg) infinity0 |
| 2025-12-19 00:12:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 00:20:52 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2025-12-19 00:20:55 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2025-12-19 00:24:08 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 00:24:21 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 00:25:19 +0100 | xff0x | (~xff0x@2405:6580:b080:900:ea01:4fbc:9554:a780) (Ping timeout: 250 seconds) |
| 2025-12-19 00:29:09 +0100 | tromp | (~textual@2001:1c00:3487:1b00:388e:400a:f906:df4a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-19 00:30:01 +0100 | xff0x | (~xff0x@2405:6580:b080:900:ea01:4fbc:9554:a780) |
| 2025-12-19 00:40:23 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) (Ping timeout: 244 seconds) |
| 2025-12-19 00:41:39 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-19 00:51:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 00:56:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 01:00:31 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 2025-12-19 01:07:05 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 01:07:35 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) |
| 2025-12-19 01:12:01 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-19 01:14:29 +0100 | olivial | (~benjaminl@user/benjaminl) (Ping timeout: 260 seconds) |
| 2025-12-19 01:17:46 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds) |
| 2025-12-19 01:20:04 +0100 | haskellbridge | (~hackager@96.28.224.214) (Remote host closed the connection) |
| 2025-12-19 01:20:44 +0100 | haskellbridge | (~hackager@96.28.224.214) hackager |
| 2025-12-19 01:20:44 +0100 | ChanServ | +v haskellbridge |
| 2025-12-19 01:22:54 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 01:27:31 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-19 01:28:28 +0100 | lbseale | (~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2025-12-19 01:29:12 +0100 | lbseale | (~quassel@user/ep1ctetus) ep1ctetus |
| 2025-12-19 01:30:06 +0100 | olivial | (~benjaminl@user/benjaminl) benjaminl |
| 2025-12-19 01:38:24 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds) |
| 2025-12-19 01:38:38 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 01:42:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 01:45:51 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 01:46:05 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 01:48:10 +0100 | xff0x | (~xff0x@2405:6580:b080:900:ea01:4fbc:9554:a780) (Ping timeout: 246 seconds) |
| 2025-12-19 01:48:50 +0100 | Pozyomka | (~pyon@user/pyon) (Read error: Connection reset by peer) |
| 2025-12-19 01:54:00 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 01:58:44 +0100 | somemathguy | (~somemathg@user/somemathguy) somemathguy |
| 2025-12-19 01:58:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 01:59:00 +0100 | driib3180 | (~driib@vmi931078.contaboserver.net) driib |
| 2025-12-19 02:00:54 +0100 | driib3180 | (~driib@vmi931078.contaboserver.net) (Client Quit) |
| 2025-12-19 02:09:49 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 02:10:07 +0100 | driib3180 | (~driib@vmi931078.contaboserver.net) driib |
| 2025-12-19 02:10:51 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 02:15:01 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-19 02:21:24 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 02:24:36 +0100 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2025-12-19 02:24:59 +0100 | divlamir | (~divlamir@user/divlamir) divlamir |
| 2025-12-19 02:25:37 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 02:25:55 +0100 | omidmash8 | (~omidmash@user/omidmash) omidmash |
| 2025-12-19 02:28:33 +0100 | omidmash | (~omidmash@user/omidmash) (Ping timeout: 260 seconds) |
| 2025-12-19 02:28:33 +0100 | omidmash8 | omidmash |
| 2025-12-19 02:28:42 +0100 | Tuplanolla | (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2025-12-19 02:29:09 +0100 | trickard_ | trickard |
| 2025-12-19 02:30:26 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-19 02:36:01 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) (Ping timeout: 264 seconds) |
| 2025-12-19 02:41:23 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 02:46:39 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-19 02:49:44 +0100 | weary-traveler | (~user@user/user363627) user363627 |
| 2025-12-19 02:57:10 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 02:58:24 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2025-12-19 02:59:24 +0100 | mange | (~mange@user/mange) mange |
| 2025-12-19 03:03:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 03:05:44 +0100 | pabs3 | (~pabs3@user/pabs3) (Quit: Don't rest until all the world is paved in moss and greenery.) |
| 2025-12-19 03:06:30 +0100 | pabs3 | (~pabs3@user/pabs3) pabs3 |
| 2025-12-19 03:11:49 +0100 | jj | (~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) (Ping timeout: 246 seconds) |
| 2025-12-19 03:15:13 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 03:20:25 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-19 03:26:51 +0100 | jj | (~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) omentic |
| 2025-12-19 03:31:00 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 03:35:38 +0100 | acidjnk | (~acidjnk@p200300d6e7171981f0c6dc9689540cc0.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 2025-12-19 03:35:57 +0100 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2025-12-19 03:36:14 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-19 03:36:19 +0100 | talismanick | (~user@2601:644:8502:d340::cd3d) (Ping timeout: 246 seconds) |
| 2025-12-19 03:46:48 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 03:51:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-19 03:51:54 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-12-19 03:54:18 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) |
| 2025-12-19 03:54:44 +0100 | Square | (~Square4@user/square) Square |
| 2025-12-19 03:55:34 +0100 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 246 seconds) |
| 2025-12-19 03:58:31 +0100 | Square2 | (~Square@user/square) (Ping timeout: 240 seconds) |
| 2025-12-19 03:58:43 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) (Ping timeout: 246 seconds) |
| 2025-12-19 04:02:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 04:07:49 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-19 04:09:12 +0100 | jj | (~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) (Remote host closed the connection) |
| 2025-12-19 04:18:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 04:23:04 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-19 04:27:36 +0100 | trickard | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 04:27:50 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 04:32:11 +0100 | mange | (~mange@user/mange) (Remote host closed the connection) |
| 2025-12-19 04:34:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 04:36:22 +0100 | RMSBach | (~RMSBach@2603:6013:9b00:a7c8:e7e5:f272:eb86:ddf) (Ping timeout: 255 seconds) |
| 2025-12-19 04:37:31 +0100 | td_ | (~td@i53870911.versanet.de) (Ping timeout: 250 seconds) |
| 2025-12-19 04:38:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 04:39:14 +0100 | td_ | (~td@i53870930.versanet.de) |
| 2025-12-19 04:45:51 +0100 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) GdeVolpiano |
| 2025-12-19 04:55:08 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 04:55:22 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 05:08:43 +0100 | qqe | (~qqq@185.54.20.98) (Quit: Lost terminal) |
| 2025-12-19 05:20:51 +0100 | Googulator4 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 05:21:12 +0100 | Googulator73 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 05:25:08 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 05:27:53 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 05:31:06 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 2025-12-19 05:36:35 +0100 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
| 2025-12-19 05:43:03 +0100 | cheater | (~AdminUser@2a02:8388:a180:3500:2936:d5c0:ce56:944) (Changing host) |
| 2025-12-19 05:43:03 +0100 | cheater | (~AdminUser@user/cheater) cheater |
| 2025-12-19 05:43:04 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) marinelli |
| 2025-12-19 05:47:31 +0100 | poscat | (~poscat@user/poscat) poscat |
| 2025-12-19 05:48:55 +0100 | poscat0x04 | (~poscat@user/poscat) (Ping timeout: 240 seconds) |
| 2025-12-19 05:50:45 +0100 | Googulator80 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 05:50:47 +0100 | Googulator4 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 05:54:24 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 05:57:09 +0100 | somemathguy | (~somemathg@user/somemathguy) (Quit: WeeChat 4.1.1) |
| 2025-12-19 06:01:31 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-19 06:11:15 +0100 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds) |
| 2025-12-19 06:12:26 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 06:17:49 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-19 06:20:41 +0100 | Googulator19 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 06:20:45 +0100 | Googulator80 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 06:25:21 +0100 | spew | (~spew@user/spew) (Quit: nyaa~) |
| 2025-12-19 06:28:13 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 06:33:33 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-19 06:35:48 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Quit: WeeChat 4.8.1) |
| 2025-12-19 06:37:56 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod |
| 2025-12-19 06:44:01 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 06:45:26 +0100 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2025-12-19 06:47:46 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 246 seconds) |
| 2025-12-19 06:48:21 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-19 06:48:27 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-19 06:48:52 +0100 | michalz | (~michalz@185.246.207.221) |
| 2025-12-19 06:50:39 +0100 | Googulator67 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 06:50:42 +0100 | Googulator19 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 06:52:43 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 255 seconds) |
| 2025-12-19 06:53:31 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-19 06:59:34 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 07:03:11 +0100 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 2025-12-19 07:04:24 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-19 07:07:24 +0100 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2025-12-19 07:07:27 +0100 | j1n37- | (~j1n37@user/j1n37) j1n37 |
| 2025-12-19 07:08:31 +0100 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
| 2025-12-19 07:08:46 +0100 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 2025-12-19 07:13:50 +0100 | jj | (~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) omentic |
| 2025-12-19 07:18:29 +0100 | tessier | (~tessier@ec2-184-72-149-67.compute-1.amazonaws.com) (Remote host closed the connection) |
| 2025-12-19 07:21:56 +0100 | <Axman6> | @unmtl ExceptT err (ReaderT conf IO) a |
| 2025-12-19 07:21:56 +0100 | <lambdabot> | conf -> IO (Either err a) |
| 2025-12-19 07:22:14 +0100 | <Axman6> | @ unmtl ReaderT conf (ExceptT err IO) a |
| 2025-12-19 07:22:17 +0100 | <Axman6> | @unmtl ReaderT conf (ExceptT err IO) a |
| 2025-12-19 07:22:17 +0100 | <lambdabot> | conf -> IO (Either err a) |
| 2025-12-19 07:24:37 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 2025-12-19 07:30:51 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 07:31:09 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Ping timeout: 252 seconds) |
| 2025-12-19 07:33:16 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) marinelli |
| 2025-12-19 07:37:03 +0100 | trickard_ | trickard |
| 2025-12-19 07:37:31 +0100 | larsivi | (~larsivi@user/larsivi) (Ping timeout: 264 seconds) |
| 2025-12-19 07:37:49 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-19 07:41:06 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-12-19 07:41:31 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-19 07:42:01 +0100 | Eoco_ | (~ian@128.101.131.218) (Ping timeout: 246 seconds) |
| 2025-12-19 07:42:24 +0100 | remexre | (~remexre@user/remexre) (Ping timeout: 260 seconds) |
| 2025-12-19 07:44:06 +0100 | Eoco | (~ian@128.101.131.218) Eoco |
| 2025-12-19 07:46:13 +0100 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds) |
| 2025-12-19 07:48:17 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds) |
| 2025-12-19 07:48:25 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-19 07:48:54 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 07:50:00 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-12-19 07:50:19 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-19 07:51:16 +0100 | remexre | (~remexre@user/remexre) remexre |
| 2025-12-19 07:53:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 07:55:24 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 08:00:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 08:08:39 +0100 | annamalai | (~annamalai@157.32.125.111) (Ping timeout: 260 seconds) |
| 2025-12-19 08:08:53 +0100 | <Axman6> | Is there a good reason to pick one of these over the other? |
| 2025-12-19 08:20:44 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 08:20:44 +0100 | Googulator67 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 08:20:54 +0100 | Googulator67 | (~Googulato@80-95-87-105.pool.digikabel.hu) |
| 2025-12-19 08:23:59 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 2025-12-19 08:25:23 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-19 08:28:36 +0100 | <int-e> | I don't know; the second one may save the compiler a tiny bit of work when simplifying >>= ? |
| 2025-12-19 08:30:22 +0100 | <int-e> | (there's no behavioral difference) |
| 2025-12-19 08:31:28 +0100 | larsivi | (~larsivi@user/larsivi) larsivi |
| 2025-12-19 08:36:34 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 08:38:35 +0100 | FANTOM | (~fantom@90.244.161.115) (Ping timeout: 240 seconds) |
| 2025-12-19 08:41:25 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-19 08:44:40 +0100 | annamalai | (~annamalai@2409:4042:2312:1f01::15d4:c8a5) annamalai |
| 2025-12-19 08:51:10 +0100 | shaeto | (~Shaeto@94.25.234.244) |
| 2025-12-19 08:51:12 +0100 | FANTOM | (~fantom@90.244.161.115) |
| 2025-12-19 08:51:28 +0100 | Square2 | (~Square@user/square) Square |
| 2025-12-19 08:52:16 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 08:52:52 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds) |
| 2025-12-19 08:54:49 +0100 | Square | (~Square4@user/square) (Ping timeout: 246 seconds) |
| 2025-12-19 08:56:58 +0100 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
| 2025-12-19 08:58:15 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 240 seconds) |
| 2025-12-19 09:00:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 09:00:29 +0100 | tomboy64 | (~tomboy64@user/tomboy64) tomboy64 |
| 2025-12-19 09:05:55 +0100 | <Axman6> | yeah, I was wondering if there was a performance difference between the two |
| 2025-12-19 09:08:22 +0100 | lucabtz | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-19 09:12:11 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 09:13:03 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c43:d0f8:e383:616c) |
| 2025-12-19 09:16:52 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-19 09:17:01 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 265 seconds) |
| 2025-12-19 09:20:47 +0100 | Googulator67 | (~Googulato@80-95-87-105.pool.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 09:20:50 +0100 | Googulator29 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 09:24:38 +0100 | chele | (~chele@user/chele) chele |
| 2025-12-19 09:24:55 +0100 | bairyn | (~bairyn@MAIL.DIGITALKINGDOM.ORG) (Ping timeout: 246 seconds) |
| 2025-12-19 09:26:20 +0100 | ByronJohnson | (~bairyn@MAIL.DIGITALKINGDOM.ORG) ByronJohnson |
| 2025-12-19 09:27:53 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 09:28:31 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2025-12-19 09:29:35 +0100 | shaeto | (~Shaeto@94.25.234.244) (Ping timeout: 265 seconds) |
| 2025-12-19 09:30:27 +0100 | bliminse | (~bliminse@user/bliminse) bliminse |
| 2025-12-19 09:31:08 +0100 | tomboy64 | (~tomboy64@user/tomboy64) tomboy64 |
| 2025-12-19 09:31:28 +0100 | shaeto | (~Shaeto@78.37.15.179) |
| 2025-12-19 09:32:38 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-19 09:36:08 +0100 | shaeto | (~Shaeto@78.37.15.179) (Ping timeout: 260 seconds) |
| 2025-12-19 09:37:45 +0100 | shaeto | (~Shaeto@94.25.234.244) |
| 2025-12-19 09:41:49 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
| 2025-12-19 09:43:17 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c43:d0f8:e383:616c) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-19 09:43:17 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 09:47:57 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c43:d0f8:e383:616c) |
| 2025-12-19 09:48:03 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-19 09:50:48 +0100 | Googulator22 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 09:50:48 +0100 | Googulator29 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 09:57:23 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 10:00:24 +0100 | tema | (~tema@93.175.2.131) |
| 2025-12-19 10:02:05 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-12-19 10:03:35 +0100 | Square2 | (~Square@user/square) (Ping timeout: 240 seconds) |
| 2025-12-19 10:04:06 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2025-12-19 10:05:24 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 10:11:45 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
| 2025-12-19 10:15:56 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) marinelli |
| 2025-12-19 10:20:48 +0100 | Googulator71 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 10:20:48 +0100 | Googulator22 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 10:21:51 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-19 10:21:58 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Read error: Connection reset by peer) |
| 2025-12-19 10:22:44 +0100 | <probie> | Axman6: I think the only way to accurately answer that question is to benchmark it |
| 2025-12-19 10:36:23 +0100 | cafkafk | (~cafkafk@fsf/member/cafkafk) cafkafk |
| 2025-12-19 10:37:13 +0100 | cafkafk | (~cafkafk@fsf/member/cafkafk) (Client Quit) |
| 2025-12-19 10:43:27 +0100 | <haskellbridge> | <Liamzee> hmmm, playing around with Haskell-To-Rust FFI. Why are we claiming this is black magic again? |
| 2025-12-19 10:44:18 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2025-12-19 10:48:11 +0100 | <merijn> | Who is claiming what is black magic? |
| 2025-12-19 10:49:29 +0100 | <haskellbridge> | <Liamzee> I just heard from humans that Haskell-Rust FFI is a pita. This seems easy, doable, and fun, at least at the hello world stage. |
| 2025-12-19 10:49:46 +0100 | <haskellbridge> | <Morj> What are you using for it? |
| 2025-12-19 10:49:59 +0100 | <haskellbridge> | <Morj> Rust-to-haskell-via-c is a pain in the ass on both sides |
| 2025-12-19 10:50:32 +0100 | <haskellbridge> | <Liamzee> I just generated a libffitest.a file from Cargo, dumped it into my cabal init folder |
| 2025-12-19 10:50:33 +0100 | Googulator71 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 10:50:42 +0100 | Googulator71 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 10:50:46 +0100 | <haskellbridge> | <Liamzee> under cbits, then direct called with ccall |
| 2025-12-19 10:51:11 +0100 | <haskellbridge> | <Liamzee> but ccall is old and iirc suspect, so i shuffled the cabal around a bit more, added a libffitest.h header in C |
| 2025-12-19 10:51:25 +0100 | <haskellbridge> | <Liamzee> swapped to capi |
| 2025-12-19 10:51:50 +0100 | <haskellbridge> | <Liamzee> also I made sure there was #[unsafe(nomangle)] annotations and the extern "C" declaration. |
| 2025-12-19 10:52:08 +0100 | <haskellbridge> | <Morj> You are quite tolerant to pain I see |
| 2025-12-19 10:52:38 +0100 | <merijn> | The Haskell FFI to C is pretty comfy imo, I would assume Rust's is too, so I wouldn't expect it to be particularly painful |
| 2025-12-19 10:52:48 +0100 | <merijn> | Liamzee: ccall is not all all suspect |
| 2025-12-19 10:52:55 +0100 | <haskellbridge> | <Morj> Also «easy, doable, and /fun/», really? |
| 2025-12-19 10:53:00 +0100 | <haskellbridge> | <Liamzee> Morj: this isn't that painful, 5 minutes |
| 2025-12-19 10:53:17 +0100 | <haskellbridge> | <Liamzee> I'm sure once it gets into sophisticated memory handling it's going to become nightmarish, especially under concurrent conditions |
| 2025-12-19 10:53:38 +0100 | <haskellbridge> | <Morj> Mm, in my experience it's about the same nightmare as binding to c++ code |
| 2025-12-19 10:53:46 +0100 | <merijn> | Liamzee: ccall is just the tradiational C ABI, with all limitations of that (i.e. no access to CPP, etc) |
| 2025-12-19 10:53:53 +0100 | <merijn> | Morj: No, C++ is infinitely worse |
| 2025-12-19 10:53:55 +0100 | <haskellbridge> | <Morj> In general rust's typical approaches to memory are very similar to c++ |
| 2025-12-19 10:54:12 +0100 | <haskellbridge> | <Morj> Hm, you think? Why? |
| 2025-12-19 10:54:37 +0100 | <merijn> | Because C++ doesn't have any ABI defined at all |
| 2025-12-19 10:54:37 +0100 | <haskellbridge> | <Liamzee> the worst part right now is that Cabal can't do this on its own, not without a custom Setup.hs |
| 2025-12-19 10:54:46 +0100 | <merijn> | Liamzee: What? |
| 2025-12-19 10:54:53 +0100 | <merijn> | What do you need a custom setup.hs for? |
| 2025-12-19 10:55:00 +0100 | <haskellbridge> | <Morj> I mean «modern» c++ with smart pointers and stuff. If we're talking c++ with manual memory management, that's terrible, but that's also terrible to use from c++ |
| 2025-12-19 10:55:04 +0100 | <haskellbridge> | <Liamzee> ? I had to generate a static build artifact from Cargo |
| 2025-12-19 10:55:06 +0100 | <haskellbridge> | <Liamzee> then copy paste |
| 2025-12-19 10:55:27 +0100 | <haskellbridge> | <Morj> "ABI" - yes, but you do the same thing and export unmangled functions with C abi in c++ |
| 2025-12-19 10:55:27 +0100 | <merijn> | Liamzee: Oh, cabal not being able to call cargo, yeah that's true |
| 2025-12-19 10:55:50 +0100 | <haskellbridge> | <Liamzee> I read that Rust has cbindgen |
| 2025-12-19 10:56:06 +0100 | <haskellbridge> | <Liamzee> I promised someone and I'll probably break the promise, to go give them FFI parquet support |
| 2025-12-19 10:56:10 +0100 | raym | (~ray@user/raym) (Ping timeout: 245 seconds) |
| 2025-12-19 10:56:36 +0100 | <haskellbridge> | <Liamzee> so I took a look at Apache Arrow, and noped the hell out, am now considering whether I can do parquet-rs instead |
| 2025-12-19 10:58:07 +0100 | <merijn> | Liamzee: FWIW cabal is pretty well-behaved when you call it from, e.g. a Makefile |
| 2025-12-19 10:58:37 +0100 | <merijn> | I basically had a C++ + haskell project where I just had a makefile calling cabal to deal with building the haskell bits |
| 2025-12-19 10:58:54 +0100 | haritz | (~hrtz@140.228.70.141) |
| 2025-12-19 10:58:54 +0100 | haritz | (~hrtz@140.228.70.141) (Changing host) |
| 2025-12-19 10:58:54 +0100 | haritz | (~hrtz@user/haritz) haritz |
| 2025-12-19 10:59:58 +0100 | <merijn> | Liamzee: Anyway, I would generally *prefer* ccall over capi unless I specifically needed capi, for for example accessing CPP macros |
| 2025-12-19 11:01:43 +0100 | <haskellbridge> | <Liamzee> i mean if i'm just doing things with Rust artifacts |
| 2025-12-19 11:01:51 +0100 | <haskellbridge> | <Liamzee> I can probably live with ccall, right? |
| 2025-12-19 11:02:32 +0100 | <haskellbridge> | <Liamzee> still, so exciting, Haskell being a driver for Rust has been a dream of mine for years. I just thought it was black magic that required being at Serokell or Well-Typed to pull off |
| 2025-12-19 11:03:11 +0100 | raym | (~ray@user/raym) raym |
| 2025-12-19 11:03:28 +0100 | <merijn> | Liamzee: The main difference is "ccall" directly generates code calling stuff according to C ABI. CAPI has GHC generating and compiling a C wrapper (using a C compiler) then calling that wrapper.Which is how it can access, e.g. CPP values, because the CPP is substituted in the generated C wrapper |
| 2025-12-19 11:03:39 +0100 | <merijn> | But that C wrapper is extra indirection |
| 2025-12-19 11:04:32 +0100 | <haskellbridge> | <Morj> What serokell or well-typed are writing is even more magic, where they want to automatically interoperate between haskell and rust types, and not have to write foreign imports and exports |
| 2025-12-19 11:04:38 +0100 | <haskellbridge> | <Liamzee> yup, i see the problem now, apparently GHCRTS and Rust will fight over ownership? |
| 2025-12-19 11:05:06 +0100 | <merijn> | Liamzee: You'll just have to manually and explicitly manage ownership |
| 2025-12-19 11:05:48 +0100 | <haskellbridge> | <Liamzee> But the problem is that I can't do it all from the Haskell side, no? I'd have to go into the rust, manually edit stuff so it doesn't take ownership. Ugh. |
| 2025-12-19 11:06:46 +0100 | <merijn> | Liamzee: I mean, in the haskell FFI you can manually do 'malloc' to get a pointer that doesn't get freed by Haskell in which case Rust can take ownership |
| 2025-12-19 11:08:39 +0100 | <haskellbridge> | <Morj> Rust also doesn't have a stable abi, so the functions you export from rust are only going to have C compatible arguments, which are all Copy, so the ownership semantics happen a layer deeper |
| 2025-12-19 11:09:31 +0100 | <haskellbridge> | <Liamzee> I mean in the Parquet case, this is looking as though it'd likely be a disaster, maybe I would have to go through the 2 million line Apache Arrow instead :( |
| 2025-12-19 11:09:47 +0100 | <haskellbridge> | <Liamzee> precisely, you DON'T want to copy |
| 2025-12-19 11:10:23 +0100 | <haskellbridge> | <Morj> Like, if you have two functions: one accepting a Box<T>, and another &T - they both will be exported as accepting _const T, and_const T is safe to copy |
| 2025-12-19 11:10:45 +0100 | <haskellbridge> | <Morj> Oops, my matrix client might have eaten the asterisks as the formatting |
| 2025-12-19 11:11:03 +0100 | <haskellbridge> | <Morj> *const T in both mentions |
| 2025-12-19 11:20:43 +0100 | Googulator71 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 11:20:46 +0100 | Googulator50 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 11:20:48 +0100 | <merijn> | I can't imagine Rust not supporting a non-copying pointer in unsafe |
| 2025-12-19 11:21:09 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2025-12-19 11:22:42 +0100 | <merijn> | Something like this SO answer? https://stackoverflow.com/questions/54849928/how-can-one-force-rust-to-take-ownership-of-memory-al… |
| 2025-12-19 11:25:08 +0100 | <merijn> | Similarly relevant? https://www.reddit.com/r/rust/comments/17r7hf6/comment/k8h4hpw/ |
| 2025-12-19 11:30:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-12-19 11:36:33 +0100 | tema | (~tema@93.175.2.131) (Ping timeout: 272 seconds) |
| 2025-12-19 11:47:30 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 2025-12-19 11:50:44 +0100 | Googulator23 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 11:50:49 +0100 | Googulator50 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 11:53:31 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c43:d0f8:e383:616c) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-19 11:55:15 +0100 | trickard | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 11:55:28 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 11:55:42 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c43:d0f8:e383:616c) |
| 2025-12-19 12:01:52 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds) |
| 2025-12-19 12:03:56 +0100 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
| 2025-12-19 12:04:47 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) marinelli |
| 2025-12-19 12:06:53 +0100 | trickard_ | trickard |
| 2025-12-19 12:07:39 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Ping timeout: 244 seconds) |
| 2025-12-19 12:18:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 12:20:49 +0100 | Googulator24 | (~Googulato@80-95-87-105.pool.digikabel.hu) |
| 2025-12-19 12:20:50 +0100 | Googulator23 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 12:21:35 +0100 | trickard | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 12:21:49 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 12:23:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 12:31:23 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) |
| 2025-12-19 12:35:33 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) (Ping timeout: 244 seconds) |
| 2025-12-19 12:36:24 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 12:41:37 +0100 | lucabtz | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-19 12:42:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-19 12:45:36 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
| 2025-12-19 12:46:42 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-19 12:51:34 +0100 | acidjnk | (~acidjnk@p200300d6e71719757debcd23ed4a65e1.dip0.t-ipconnect.de) acidjnk |
| 2025-12-19 13:05:51 +0100 | Googulator54 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 13:05:54 +0100 | Googulator24 | (~Googulato@80-95-87-105.pool.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 13:07:22 +0100 | mari-estel | (~mari-este@user/mari-estel) () |
| 2025-12-19 13:12:18 +0100 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
| 2025-12-19 13:14:34 +0100 | kmein | (~weechat@user/kmein) kmein |
| 2025-12-19 13:21:14 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c43:d0f8:e383:616c) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-19 13:26:11 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 13:26:25 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 13:28:32 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) fp |
| 2025-12-19 13:35:54 +0100 | Googulator87 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 13:35:56 +0100 | Googulator54 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 14:02:51 +0100 | internatetional | (~nate@2404:c0:2029:708e:1:0:dce8:227d) internatetional |
| 2025-12-19 14:05:15 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
| 2025-12-19 14:05:30 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-19 14:10:52 +0100 | trickard_ | trickard |
| 2025-12-19 14:13:05 +0100 | xff0x | (~xff0x@2405:6580:b080:900:2d2a:a485:c072:ffd2) |
| 2025-12-19 14:15:20 +0100 | trickard | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 14:15:34 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 14:16:21 +0100 | <haskellbridge> | <Morj> Clueless me running nix profile upgrade on a friday, and being hit with https://github.com/NixOS/nixpkgs/issues/467614 |
| 2025-12-19 14:22:54 +0100 | hsw | (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) (Read error: Connection reset by peer) |
| 2025-12-19 14:23:13 +0100 | hsw | (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) hsw |
| 2025-12-19 14:23:52 +0100 | confusedalex | (~confuseda@user/confusedalex) (Remote host closed the connection) |
| 2025-12-19 14:24:20 +0100 | Igloo | (~ian@81.2.99.210) (Quit: BIAW) |
| 2025-12-19 14:25:34 +0100 | somemathguy | (~somemathg@user/somemathguy) somemathguy |
| 2025-12-19 14:30:23 +0100 | deptype | (~deptype@2406:b400:3a:2dd5:52e4:b3c5:3fcb:69bd) |
| 2025-12-19 14:33:07 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 265 seconds) |
| 2025-12-19 14:33:58 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-12-19 14:34:22 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-19 14:35:00 +0100 | fp | (~Thunderbi@2001:708:150:10::7e06) fp |
| 2025-12-19 14:35:32 +0100 | Googulator87 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 14:35:46 +0100 | Googulator87 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 14:36:21 +0100 | deptype_ | (~deptype@2406:b400:3a:2dd5:52e4:b3c5:3fcb:69bd) |
| 2025-12-19 14:40:21 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c43:d0f8:e383:616c) |
| 2025-12-19 14:49:20 +0100 | EvanR_ | (~EvanR@user/evanr) EvanR |
| 2025-12-19 14:50:07 +0100 | EvanR | (~EvanR@user/evanr) (Ping timeout: 264 seconds) |
| 2025-12-19 14:51:51 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds) |
| 2025-12-19 14:52:41 +0100 | fp | (~Thunderbi@2001:708:150:10::7e06) (Remote host closed the connection) |
| 2025-12-19 14:57:47 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) |
| 2025-12-19 15:01:08 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2025-12-19 15:01:55 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) (Ping timeout: 240 seconds) |
| 2025-12-19 15:09:06 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c43:d0f8:e383:616c) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-19 15:17:46 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-19 15:17:59 +0100 | trickard_ | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-19 15:20:28 +0100 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2025-12-19 15:20:40 +0100 | jmcantrell_ | jmcantrell |
| 2025-12-19 15:25:28 +0100 | tromp | (~textual@2001:1c00:3487:1b00:9c43:d0f8:e383:616c) |
| 2025-12-19 15:31:40 +0100 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
| 2025-12-19 15:35:39 +0100 | Googulator7 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 15:35:45 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 250 seconds) |
| 2025-12-19 15:35:53 +0100 | Googulator87 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 15:38:26 +0100 | lbseale | (~quassel@user/ep1ctetus) (Quit: No Ping reply in 180 seconds.) |
| 2025-12-19 15:39:51 +0100 | lbseale | (~quassel@user/ep1ctetus) ep1ctetus |
| 2025-12-19 15:48:13 +0100 | fp | (~Thunderbi@2001:708:150:10::7e06) fp |
| 2025-12-19 15:50:25 +0100 | Googulator61 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 15:54:37 +0100 | internatetional | (~nate@2404:c0:2029:708e:1:0:dce8:227d) (Quit: CoreIRC for Android - www.coreirc.com) |
| 2025-12-19 15:54:57 +0100 | Googulator7 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Ping timeout: 272 seconds) |
| 2025-12-19 15:55:49 +0100 | <yin> | is the mechanism that prevents me from writing (join bimap fromList) the DMR? |
| 2025-12-19 15:57:35 +0100 | <yin> | when applied to something like (Map Char,Map Int) |
| 2025-12-19 15:59:08 +0100 | <merijn> | :t bimap |
| 2025-12-19 15:59:29 +0100 | <merijn> | hmm, lambdabot is dead? |
| 2025-12-19 15:59:46 +0100 | <merijn> | I forgot, what was yahb's prompt? |
| 2025-12-19 15:59:49 +0100 | <lambdabot> | Bifunctor p => (a -> b) -> (c -> d) -> p a c -> p b d |
| 2025-12-19 15:59:57 +0100 | <merijn> | oh just super slow |
| 2025-12-19 16:00:21 +0100 | <merijn> | :t join bimap |
| 2025-12-19 16:00:22 +0100 | <lambdabot> | Bifunctor p => (a -> b) -> p a a -> p b b |
| 2025-12-19 16:00:33 +0100 | <merijn> | :t join |
| 2025-12-19 16:00:34 +0100 | <lambdabot> | Monad m => m (m a) -> m a |
| 2025-12-19 16:01:42 +0100 | <merijn> | That's not DMR at all |
| 2025-12-19 16:02:09 +0100 | <merijn> | That's just the fact that join is resulting in constraints that 'a = c' and 'b = d' |
| 2025-12-19 16:03:04 +0100 | <yin> | oh right |
| 2025-12-19 16:03:38 +0100 | <yin> | so i need to write (bimap fromList fromList) |
| 2025-12-19 16:03:41 +0100 | <yin> | shame |
| 2025-12-19 16:03:52 +0100 | <merijn> | honestly, that's approximately 500% more readable anyway |
| 2025-12-19 16:04:13 +0100 | <merijn> | And, like, literally only 4 characters longer than the join one |
| 2025-12-19 16:04:52 +0100 | <mari-estel> | :t both |
| 2025-12-19 16:04:53 +0100 | <lambdabot> | Bitraversable r => Traversal (r a a) (r b b) a b |
| 2025-12-19 16:05:28 +0100 | RMSBach | (~RMSBach@24.210.9.182) RMSBach |
| 2025-12-19 16:05:52 +0100 | Googulator17 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 16:05:56 +0100 | Googulator61 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 16:06:44 +0100 | <yin> | sure, in this simplified instance |
| 2025-12-19 16:06:51 +0100 | <yin> | this is what i'm writting https://paste.jrvieira.com/1766156784921 |
| 2025-12-19 16:07:06 +0100 | <yin> | (join bimap) is a very common pattern for me |
| 2025-12-19 16:07:10 +0100 | <yin> | oh well |
| 2025-12-19 16:10:00 +0100 | fp | (~Thunderbi@2001:708:150:10::7e06) (Ping timeout: 252 seconds) |
| 2025-12-19 16:10:58 +0100 | <Leary> | What's "the DMR"? |
| 2025-12-19 16:11:50 +0100 | <yin> | mari-estel: is that a Lens thing? |
| 2025-12-19 16:12:04 +0100 | <yin> | Leary: https://wiki.haskell.org/index.php?title=Monomorphism_restriction |
| 2025-12-19 16:12:23 +0100 | <mari-estel> | arrow thing, i believe |
| 2025-12-19 16:12:37 +0100 | <merijn> | Leary: Dread Monomorphism Restriction |
| 2025-12-19 16:12:44 +0100 | <merijn> | @quote dmr |
| 2025-12-19 16:12:45 +0100 | <lambdabot> | No quotes match. Whoa. |
| 2025-12-19 16:12:45 +0100 | <yin> | Leary: "D" is for "Dreaded" |
| 2025-12-19 16:13:02 +0100 | <merijn> | @quote dreaded |
| 2025-12-19 16:13:03 +0100 | <lambdabot> | liyang says: <fragamus> how can I upgrade bytestring? I tried to use cabal but it complains <liyang> Ah, the dreaded monochrom restriction. |
| 2025-12-19 16:13:28 +0100 | <mari-estel> | :D |
| 2025-12-19 16:13:43 +0100 | <merijn> | hmm, not quite what I was looking for |
| 2025-12-19 16:15:04 +0100 | <Leary> | Okay, I guess I've heard that turn of phrase. Never seen it reduced to DMR though, only MMR. DMMR might be clearer. |
| 2025-12-19 16:21:33 +0100 | annamalai | (~annamalai@2409:4042:2312:1f01::15d4:c8a5) (Ping timeout: 252 seconds) |
| 2025-12-19 16:21:35 +0100 | larsivi | (~larsivi@user/larsivi) (Ping timeout: 245 seconds) |
| 2025-12-19 16:21:49 +0100 | annamalai | (~annamalai@157.32.137.200) annamalai |
| 2025-12-19 16:25:44 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
| 2025-12-19 16:27:35 +0100 | ski | . o O ( `join (,) (length :: (exists a. [a]) -> Int) :: ([a0] -> Int,[a1] -> Int)' ) |
| 2025-12-19 16:35:43 +0100 | <lucabtz> | this is only slightly related but somthing i find confusing with nomenclature is that a monomorphic function and a monomorphism (in the categorical sense) have nothing to do with each other in haskell |
| 2025-12-19 16:35:43 +0100 | Googulator17 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-19 16:35:50 +0100 | Googulator17 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-19 16:37:39 +0100 | <merijn> | Why is that confusing? |
| 2025-12-19 16:38:37 +0100 | <merijn> | The introduction of category theory vocabulary (i.e. monad and friends) was a rather later addition to Haskell, so most of the nomenclature is (mostly) unrelated to category theory |
| 2025-12-19 16:39:27 +0100 | <merijn> | From a type theory persepctive monomorphic is just the antonym of polymorphic |
| 2025-12-19 16:39:47 +0100 | <lucabtz> | it's confusing because for example holomorphism is the property associated to a holomorphic function in complex analysys, while monomorphism has nothing to do with a monomorphic function |
| 2025-12-19 16:40:02 +0100 | weary-traveler | (~user@user/user363627) user363627 |
| 2025-12-19 16:40:14 +0100 | <lucabtz> | yeah the names make sense, the collision is just unfortunate |
| 2025-12-19 16:44:39 +0100 | somemathguy | (~somemathg@user/somemathguy) (Ping timeout: 250 seconds) |
| 2025-12-19 16:50:16 +0100 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
| 2025-12-19 16:52:19 +0100 | milan2 | (~milan@88.212.61.169) |
| 2025-12-19 16:54:41 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2025-12-19 17:06:18 +0100 | <yin> | we can't have a single word for everything |
| 2025-12-19 17:07:37 +0100 | <yin> | monomorphic just means "single form" so the mistake is to use the term alone without context |
| 2025-12-19 17:08:16 +0100 | <yin> | i remember being confused when i learned about monadic functions in array languages |
| 2025-12-19 17:08:42 +0100 | ouilemur | (~jgmerritt@user/ouilemur) (Ping timeout: 246 seconds) |
| 2025-12-19 17:09:13 +0100 | acarrico | (~acarrico@2001:18b0:c000:7433:aee:5563:d876:718f) (Ping timeout: 256 seconds) |
| 2025-12-19 17:09:41 +0100 | somemathguy | (~somemathg@user/somemathguy) somemathguy |
| 2025-12-19 17:10:53 +0100 | <lucabtz> | yin: well technically we can have a single word for everything if we assume everything is numerable |
| 2025-12-19 17:10:58 +0100 | <lucabtz> | *countable |
| 2025-12-19 17:11:21 +0100 | <lucabtz> | but i agree it is not doable in practise |
| 2025-12-19 17:11:48 +0100 | <lucabtz> | and yeah i was reading something about APL and i found monadic to be a confusing term too |
| 2025-12-19 17:12:49 +0100 | <yin> | it doesn't help that we also have different terms for the same things |
| 2025-12-19 17:13:53 +0100 | <lucabtz> | yeah sure |
| 2025-12-19 17:14:11 +0100 | <yin> | not to get too metaphysical but i don't think these concepts are countable because they're buckets dividing reality into arbitrary chunks |
| 2025-12-19 17:14:14 +0100 | <lucabtz> | however the same term for different things is worse |
| 2025-12-19 17:14:46 +0100 | <lucabtz> | yin yes and no if you consider each real number to be something inside the everything |
| 2025-12-19 17:15:23 +0100 | <yin> | that's a categorical problem |
| 2025-12-19 17:15:54 +0100 | <yin> | ;) |
| 2025-12-19 17:16:14 +0100 | <lucabtz> | though it is a practical problem, generally we have words for numbers, but clearly we can't name all the real ones |
| 2025-12-19 17:16:24 +0100 | <lucabtz> | we just found names for a few significant ones |
| 2025-12-19 17:16:58 +0100 | <merijn> | You can if you're an ultra-finitist |
| 2025-12-19 17:17:31 +0100 | spew | (~spew@user/spew) spew |
| 2025-12-19 17:19:35 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod |
| 2025-12-19 17:20:30 +0100 | <milan2> | Hello, sorry to interupt you guyz. :) Do you know if short-circuit foldl' is possible? |
| 2025-12-19 17:21:46 +0100 | <geekosaur> | it's not AIUI |
| 2025-12-19 17:23:20 +0100 | <milan2> | geekosaur: Sorry, if you replied to me I don't know what AIUI means. |
| 2025-12-19 17:24:13 +0100 | <geekosaur> | "as I understand it" |
| 2025-12-19 17:24:45 +0100 | <merijn> | > foldl' f z [a,b,c] |
| 2025-12-19 17:24:47 +0100 | <lambdabot> | f (f (f z a) b) c |
| 2025-12-19 17:24:51 +0100 | <geekosaur> | foldr's function is given a thunk representing the rest of the list, which it can choose to not evaluate and thereby short circuit. foldl/foldl' isn't |
| 2025-12-19 17:25:00 +0100 | <merijn> | Define short-circuit |
| 2025-12-19 17:25:13 +0100 | <merijn> | You can certainly short-circuit, but not without walking the entire list |
| 2025-12-19 17:25:35 +0100 | <merijn> | oh, wait, no, it's foldl' |
| 2025-12-19 17:25:38 +0100 | <merijn> | brainfart :) |
| 2025-12-19 17:26:05 +0100 | <yin> | milan2: foldl' evaluates the accumulator to whnk, foldl doesn't. but both necessarily traverse the complete list |
| 2025-12-19 17:26:31 +0100 | <yin> | s/whnk/whnf |
| 2025-12-19 17:27:31 +0100 | <milan2> | Yeah got it.. but foldl should be able to short-circuit. I just have to write "correct" folding function for it. |
| 2025-12-19 17:28:31 +0100 | <yin> | milan2: how do you figure? |
| 2025-12-19 17:28:34 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Quit: Lost terminal) |
| 2025-12-19 17:29:26 +0100 | <milan2> | I was reading web and I understood it that it can? I might be able to find link. |
| 2025-12-19 17:29:45 +0100 | <merijn> | milan2: Look at my example above :) |
| 2025-12-19 17:29:51 +0100 | <merijn> | > foldl f z [a,b,c] |
| 2025-12-19 17:29:52 +0100 | <lambdabot> | f (f (f z a) b) c |
| 2025-12-19 17:31:10 +0100 | <milan2> | If we look only on c we might be able to short-circuit? |
| 2025-12-19 17:31:33 +0100 | <milan2> | Thus no need for evaluating first argument? |
| 2025-12-19 17:31:40 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2025-12-19 17:32:37 +0100 | <merijn> | Right, but how do you do that without traversing the entire list? ;) |
| 2025-12-19 17:33:15 +0100 | <merijn> | So you can short-circuit in skipping some evaluation of `f`, but you *have* to walk the list |
| 2025-12-19 17:33:25 +0100 | <milan2> | I probably can't so this will not work on infinite lists. |
| 2025-12-19 17:33:46 +0100 | <merijn> | What are you actually trying to do? |
| 2025-12-19 17:34:16 +0100 | <milan2> | Advent of Code 2015 day 1 part 2 broke me :( |
| 2025-12-19 17:35:10 +0100 | <milan2> | Like we need definitelly left fold, and we need to stop counting as soon as we count -1. |
| 2025-12-19 17:35:55 +0100 | <yin> | > foldl' const 0 [undefined] |
| 2025-12-19 17:35:57 +0100 | <lambdabot> | 0 |
| 2025-12-19 17:36:07 +0100 | <yin> | > foldl' const 0 (repeat ()) |
| 2025-12-19 17:36:24 +0100 | <lambdabot> | Terminated |
| 2025-12-19 17:36:45 +0100 | <yin> | ironically, because it wouldn't terminate |
| 2025-12-19 17:37:02 +0100 | <sprout> | use scan |
| 2025-12-19 17:38:36 +0100 | <yin> | fun to see that i can press ctrl-c to halt `foldl const 0 (repeat ())` in ghci but not foldl' |
| 2025-12-19 17:38:46 +0100 | <sprout> | scan will give you a list of numbers, and you can terminate when you hit -1 |
| 2025-12-19 17:39:20 +0100 | <merijn> | 2025 you mean? :p |
| 2025-12-19 17:39:31 +0100 | <yin> | sprout: scanr, which is foldr in disguise |
| 2025-12-19 17:39:48 +0100 | <milan2> | sprout: So scan hmmm... or maybe custom self recursive function. |
| 2025-12-19 17:40:14 +0100 | <merijn> | Avoiding spoilers, my implementation relied on mapAccumL |
| 2025-12-19 17:40:17 +0100 | <merijn> | :t mapAccumL |
| 2025-12-19 17:40:18 +0100 | <lambdabot> | Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b) |
| 2025-12-19 17:40:21 +0100 | <milan2> | merijn: I started from begining. |
| 2025-12-19 17:40:34 +0100 | <yin> | oh i used scanl |
| 2025-12-19 17:40:54 +0100 | <merijn> | milan2: oh, then it's just coicidence your question seems related to this year's day 1 part 2 |
| 2025-12-19 17:41:30 +0100 | <sprout> | I just throw an exception when I am lazy |
| 2025-12-19 17:43:46 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) |
| 2025-12-19 17:45:32 +0100 | <probie> | For day 1, this year's was definitely annoying. I messed up day 1 part 2 on the first go, because I hadn't realised the values over 100 were in the data, since part 1 was all modulo 100 |
| 2025-12-19 17:45:54 +0100 | fp | (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) fp |
| 2025-12-19 17:47:25 +0100 | <yin> | milan2: good on you for starting at the beginning |
| 2025-12-19 17:47:30 +0100 | <milan2> | I am glad I started with older ones. |
| 2025-12-19 17:48:15 +0100 | <yin> | my day 1 this year: https://paste.jrvieira.com/1766162825403 |
| 2025-12-19 17:48:19 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) (Ping timeout: 264 seconds) |
| 2025-12-19 17:50:19 +0100 | <milan2> | Lovely really few lines of code even with IO and both parts. |
| 2025-12-19 17:51:14 +0100 | <yin> | not the most readable, one can argue |
| 2025-12-19 17:52:20 +0100 | <merijn> | yin: I always go for most readable and most correct: https://github.com/merijn/AdventOfCode/blob/master/Day1.hs |
| 2025-12-19 17:52:37 +0100 | <merijn> | I immediately got sidetracked by work after doing the first day this year >.> |
| 2025-12-19 17:52:46 +0100 | <yin> | merijn: tl;dr |
| 2025-12-19 17:52:51 +0100 | <yin> | :D |
| 2025-12-19 17:53:12 +0100 | <milan2> | :D |
| 2025-12-19 17:54:33 +0100 | <yin> | yes i was happy for having only 12 days to worry about this week but i got to day 8 until work swallowed my free time |
| 2025-12-19 17:54:43 +0100 | <milan2> | yin: Look yin even with type signatures! Not like yours ;) |
| 2025-12-19 17:55:45 +0100 | <yin> | hey, i did sign main |
| 2025-12-19 17:56:01 +0100 | <milan2> | Anyway sprout so scanl should work for 2015 d1 p2? |
| 2025-12-19 17:56:46 +0100 | <sprout> | milan2: it works for me, but that's egel code |
| 2025-12-19 17:57:15 +0100 | <sprout> | I would assume it works in haskell too. and even be faster due to laziness |
| 2025-12-19 17:59:28 +0100 | <yin> | merijn: i'm always sad that Haskell requires so much verbosity in order to guarantee correctness |
| 2025-12-19 17:59:48 +0100 | <mari-estel> | yin: in comparison with? |
| 2025-12-19 18:00:14 +0100 | <yin> | mari-estel: my idealized version of Haskell :) |
| 2025-12-19 18:00:25 +0100 | <yin> | i mean the potential is there |
| 2025-12-19 18:00:54 +0100 | omidmash | (~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat) |
| 2025-12-19 18:01:14 +0100 | <yin> | prelude doesn't even help |
| 2025-12-19 18:02:10 +0100 | <merijn> | yin: I disagree, tbh :p |