2025/12/18

2025-12-18 00:02:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 00:06:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 00:09:58 +0100lambda_gibbon(~lambda_gi@208.83.175.39) (Ping timeout: 255 seconds)
2025-12-18 00:12:48 +0100lambda_gibbon(~lambda_gi@208.83.175.39)
2025-12-18 00:17:48 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 00:22:13 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-12-18 00:22:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-18 00:25:40 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds)
2025-12-18 00:26:43 +0100anpad(~pandeyan@user/anpad) (Quit: ZNC 1.10.1 - https://znc.in)
2025-12-18 00:29:23 +0100anpad(~pandeyan@user/anpad) anpad
2025-12-18 00:33:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 00:34:24 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-12-18 00:35:53 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-12-18 00:35:53 +0100ljdarj1ljdarj
2025-12-18 00:38:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 00:38:44 +0100Square(~Square4@user/square) Square
2025-12-18 00:41:25 +0100Square2(~Square@user/square) (Ping timeout: 246 seconds)
2025-12-18 00:49:23 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 00:53:09 +0100tromp(~textual@2001:1c00:3487:1b00:681b:ee7b:c126:c8ee) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-12-18 00:53:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 00:56:09 +0100 <c_wraith> Um. Why is mapAccumL's strictness like that? (you can only ensure that the state value is evaluated at each step by connecting it to the mapped value and ensuring you you examine all the mapped values before the final state)
2025-12-18 00:58:51 +0100mange(~mange@user/mange) mange
2025-12-18 01:00:54 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-18 01:04:05 +0100xff0x(~xff0x@2405:6580:b080:900:1f37:fc57:df55:8ce4) (Quit: xff0x)
2025-12-18 01:05:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 01:10:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-18 01:10:34 +0100xff0x(~xff0x@ai083123.d.east.v6connect.net)
2025-12-18 01:14:50 +0100ljdarj(~Thunderbi@user/ljdarj) (Read error: Connection reset by peer)
2025-12-18 01:20:38 +0100Googulator(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 01:20:52 +0100Googulator(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 01:20:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 01:28:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-18 01:37:16 +0100lambda_gibbon(~lambda_gi@208.83.175.39) (Ping timeout: 244 seconds)
2025-12-18 01:39:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 01:39:05 +0100jle`(~jle`@2603:8001:3b00:11:a23f:f454:6842:2ec4) (Ping timeout: 245 seconds)
2025-12-18 01:39:54 +0100jle`(~jle`@2603:8001:3b00:11:19da:f73a:84bb:c3b2) jle`
2025-12-18 01:43:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 01:50:45 +0100Googulator(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 01:50:50 +0100Googulator60(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 01:59:57 +0100lambda_gibbon(~lambda_gi@208.83.175.39)
2025-12-18 01:59:57 +0100Pozyomka(~pyon@user/pyon) (Read error: Connection reset by peer)
2025-12-18 02:04:43 +0100lambda_gibbon(~lambda_gi@208.83.175.39) (Ping timeout: 255 seconds)
2025-12-18 02:07:35 +0100Tuplanolla(~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) (Ping timeout: 240 seconds)
2025-12-18 02:10:03 +0100lambda_gibbon(~lambda_gi@208.83.175.39)
2025-12-18 02:18:43 +0100xff0x(~xff0x@ai083123.d.east.v6connect.net) (Ping timeout: 246 seconds)
2025-12-18 02:20:42 +0100Googulator60(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 02:20:46 +0100Googulator58(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 02:24:33 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-12-18 02:25:00 +0100divlamir(~divlamir@user/divlamir) divlamir
2025-12-18 02:26:56 +0100omidmash9(~omidmash@user/omidmash) omidmash
2025-12-18 02:28:22 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net)
2025-12-18 02:29:28 +0100omidmash(~omidmash@user/omidmash) (Ping timeout: 260 seconds)
2025-12-18 02:29:28 +0100omidmash9omidmash
2025-12-18 02:44:16 +0100lambda_gibbon(~lambda_gi@208.83.175.39) (Ping timeout: 246 seconds)
2025-12-18 02:45:03 +0100spew(~spew@user/spew) (Ping timeout: 244 seconds)
2025-12-18 02:50:43 +0100Googulator56(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 02:50:46 +0100Googulator58(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 02:50:53 +0100spew(~spew@user/spew) spew
2025-12-18 02:58:57 +0100lambda_gibbon(~lambda_gi@208.83.175.39)
2025-12-18 03:02:55 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-12-18 03:06:55 +0100trickard(~trickard@cpe-81-98-47-163.wireline.com.au) (Ping timeout: 240 seconds)
2025-12-18 03:08:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 03:09:38 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-18 03:13:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-18 03:17:49 +0100acidjnk(~acidjnk@p200300d6e7171931a1bb0b767d660e96.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2025-12-18 03:19:55 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 240 seconds)
2025-12-18 03:20:38 +0100Googulator46(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 03:21:03 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-12-18 03:21:19 +0100Googulator56(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 03:21:56 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-12-18 03:24:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 03:24:05 +0100trickard_trickard
2025-12-18 03:25:29 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-18 03:28:22 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-18 03:36:44 +0100vanishingideal(~vanishing@user/vanishingideal) (Quit: leaving)
2025-12-18 03:39:25 +0100trickard(~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-18 03:39:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 03:39:39 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-18 03:44:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-18 03:45:52 +0100trickard_trickard
2025-12-18 03:47:57 +0100jj(~apropos@d154-20-120-135.bchsia.telus.net) omentic
2025-12-18 03:48:38 +0100jj(~apropos@d154-20-120-135.bchsia.telus.net) (Remote host closed the connection)
2025-12-18 03:54:37 +0100lambda_gibbon(~lambda_gi@208.83.175.39) (Ping timeout: 264 seconds)
2025-12-18 03:55:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 04:00:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-18 04:02:16 +0100jj(~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) omentic
2025-12-18 04:03:02 +0100karenw(~karenw@user/karenw) karenw
2025-12-18 04:10:16 +0100jmcantrell(~weechat@user/jmcantrell) (WeeChat 4.8.1)
2025-12-18 04:10:44 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-12-18 04:10:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 04:15:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 04:20:05 +0100somemathguy(~somemathg@user/somemathguy) (Quit: WeeChat 4.1.1)
2025-12-18 04:26:36 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 04:31:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 04:38:15 +0100td_(~td@i5387090B.versanet.de) (Ping timeout: 240 seconds)
2025-12-18 04:40:30 +0100td_(~td@i53870911.versanet.de)
2025-12-18 04:41:21 +0100spew(~spew@user/spew) (Quit: nyaa~)
2025-12-18 04:42:23 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 04:47:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-18 04:50:12 +0100omidmash(~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat)
2025-12-18 04:54:38 +0100omidmash(~omidmash@user/omidmash) omidmash
2025-12-18 04:57:37 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-18 04:58:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 04:58:55 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds)
2025-12-18 04:59:10 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-12-18 05:00:21 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Client Quit)
2025-12-18 05:01:16 +0100xff0x_(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-12-18 05:03:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-18 05:03:55 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 264 seconds)
2025-12-18 05:06:09 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2025-12-18 05:10:15 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds)
2025-12-18 05:13:48 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 05:20:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-18 05:20:53 +0100Googulator53(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 05:21:15 +0100Googulator46(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 05:22:35 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds)
2025-12-18 05:26:25 +0100ystael(~ystael@user/ystael) (Ping timeout: 264 seconds)
2025-12-18 05:31:51 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 05:34:39 +0100ystael(~ystael@user/ystael) ystael
2025-12-18 05:36:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-18 05:36:53 +0100AlexNoo_(~AlexNoo@5.139.232.96)
2025-12-18 05:37:45 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-12-18 05:39:15 +0100AlexZenon(~alzenon@178.34.161.6) (Ping timeout: 252 seconds)
2025-12-18 05:39:55 +0100AlexNoo(~AlexNoo@178.34.161.6) (Ping timeout: 240 seconds)
2025-12-18 05:44:18 +0100AlexZenon(~alzenon@5.139.232.96)
2025-12-18 05:45:35 +0100vanishingideal(~vanishing@user/vanishingideal) (Remote host closed the connection)
2025-12-18 05:47:30 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-12-18 05:47:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 05:53:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 05:58:06 +0100vanishingideal(~vanishing@user/vanishingideal) (Remote host closed the connection)
2025-12-18 06:00:13 +0100Pozyomka(~pyon@user/pyon) pyon
2025-12-18 06:05:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 06:06:47 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2025-12-18 06:09:11 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-12-18 06:09:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-18 06:10:27 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-12-18 06:20:46 +0100Googulator53(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 06:20:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 06:20:51 +0100Googulator94(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 06:21:03 +0100mechanov(~kianbrode@76.127.143.150)
2025-12-18 06:23:18 +0100lbseale(~quassel@user/ep1ctetus) (Ping timeout: 256 seconds)
2025-12-18 06:24:36 +0100mechanov(~kianbrode@76.127.143.150) ()
2025-12-18 06:25:07 +0100raym(~ray@user/raym) (Ping timeout: 246 seconds)
2025-12-18 06:25:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 06:28:08 +0100lbseale(~quassel@user/ep1ctetus) ep1ctetus
2025-12-18 06:28:08 +0100Googulator94(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 06:28:23 +0100Googulator94(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 06:28:34 +0100mechanov_(~mechanov_@user/mechanov-:31724) mechanov_
2025-12-18 06:30:44 +0100mechanov_(~mechanov_@user/mechanov-:31724) (Client Quit)
2025-12-18 06:31:05 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-12-18 06:32:10 +0100raym(~ray@user/raym) raym
2025-12-18 06:35:43 +0100Square(~Square4@user/square) (Ping timeout: 240 seconds)
2025-12-18 06:36:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 06:38:01 +0100jj(~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) (Remote host closed the connection)
2025-12-18 06:39:02 +0100Axman6(~Axman6@user/axman6) (*.net *.split)
2025-12-18 06:39:02 +0100superbil(~superbil@114-32-231-70.hinet-ip.hinet.net) (*.net *.split)
2025-12-18 06:39:37 +0100mange(~mange@user/mange) (Quit: Quittin' time!)
2025-12-18 06:40:44 +0100jj(~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) omentic
2025-12-18 06:41:23 +0100superbil(~superbil@114-32-231-70.hinet-ip.hinet.net) superbil
2025-12-18 06:41:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-18 06:50:41 +0100Googulator94(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 06:50:46 +0100Googulator8(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 06:51:57 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 06:58:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 06:59:19 +0100haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-12-18 07:03:16 +0100werneta(~werneta@71.83.160.242) werneta
2025-12-18 07:03:42 +0100michalz(~michalz@185.246.207.193)
2025-12-18 07:09:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 07:14:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-18 07:16:54 +0100jmcantrell(~weechat@user/jmcantrell) (Quit: WeeChat 4.8.1)
2025-12-18 07:17:48 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net)
2025-12-18 07:17:50 +0100takuan(~takuan@d8D86B9E9.access.telenet.be)
2025-12-18 07:20:39 +0100Googulator60(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 07:20:48 +0100Googulator8(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 07:25:47 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 07:31:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-18 07:36:09 +0100itaipu(~itaipu@168.121.97.28) (Ping timeout: 265 seconds)
2025-12-18 07:37:19 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-18 07:40:53 +0100Axman6(~Axman6@user/axman6) Axman6
2025-12-18 07:41:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 07:45:27 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-18 07:46:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 07:50:40 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 07:55:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-12-18 07:55:46 +0100itaipu(~itaipu@168.121.97.28) itaipu
2025-12-18 08:00:35 +0100EvanR(~EvanR@user/evanr) (Quit: Leaving)
2025-12-18 08:05:37 +0100karenw(~karenw@user/karenw) (Ping timeout: 255 seconds)
2025-12-18 08:06:28 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 08:07:51 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 08:08:32 +0100hiredman(~hiredman@frontier1.downey.family) (Ping timeout: 265 seconds)
2025-12-18 08:11:53 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-18 08:12:29 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 250 seconds)
2025-12-18 08:15:59 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 08:17:32 +0100karenw(~karenw@user/karenw) karenw
2025-12-18 08:17:53 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-12-18 08:20:16 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 244 seconds)
2025-12-18 08:22:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 08:22:53 +0100annamalai(~annamalai@2409:4042:2319:cd57::21e0:60a5) (Ping timeout: 250 seconds)
2025-12-18 08:27:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-18 08:28:09 +0100humasect_(~humasect@dyn-192-249-132-90.nexicom.net)
2025-12-18 08:29:44 +0100trickard(~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-18 08:29:58 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-18 08:30:01 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 264 seconds)
2025-12-18 08:33:17 +0100werneta(~werneta@71.83.160.242) (Remote host closed the connection)
2025-12-18 08:38:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 08:39:37 +0100annamalai(~annamalai@157.32.125.111) annamalai
2025-12-18 08:42:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-12-18 08:47:10 +0100humasect_humasect
2025-12-18 08:51:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 08:51:47 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 08:56:14 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 260 seconds)
2025-12-18 08:56:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-18 09:00:35 +0100 <probie> Is there a good way to union recursive types? My current approach is https://play.haskell.org/saved/DFZQfeiw but is there a better way to do this?
2025-12-18 09:03:19 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 240 seconds)
2025-12-18 09:03:58 +0100lucabtz(~lucabtz@user/lucabtz) lucabtz
2025-12-18 09:04:08 +0100milan2(~milan@88.212.61.169)
2025-12-18 09:05:57 +0100 <opqdonut> yeah you take the union of the f-algebras and then fix, that's what I would've done
2025-12-18 09:07:17 +0100 <opqdonut> I probably would've written the union out as a datatype if there are only 1-2 cases
2025-12-18 09:07:30 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 09:07:45 +0100 <opqdonut> I mean, 1-2 applications of the OneOf' pattern
2025-12-18 09:07:57 +0100 <opqdonut> but that's just a stylistic change
2025-12-18 09:09:59 +0100chele(~chele@user/chele) chele
2025-12-18 09:10:09 +0100trickard_trickard
2025-12-18 09:11:19 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-12-18 09:12:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 09:18:08 +0100karenw(~karenw@user/karenw) (Ping timeout: 244 seconds)
2025-12-18 09:20:41 +0100Googulator60(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 09:20:48 +0100Googulator43(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 09:23:00 +0100karenw(~karenw@user/karenw) karenw
2025-12-18 09:23:11 +0100euphores(~SASL_euph@user/euphores) euphores
2025-12-18 09:23:55 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-18 09:26:48 +0100acidjnk(~acidjnk@p200300d6e7171981f0c6dc9689540cc0.dip0.t-ipconnect.de) acidjnk
2025-12-18 09:41:26 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 09:45:40 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 246 seconds)
2025-12-18 09:48:16 +0100tromp(~textual@89-99-43-152.cable.dynamic.v4.ziggo.nl)
2025-12-18 09:50:45 +0100Googulator77(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 09:50:50 +0100Googulator43(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 09:51:37 +0100sp1ff`(~user@2601:1c2:4c00:55a0::59db) (Ping timeout: 246 seconds)
2025-12-18 10:03:20 +0100milan2(~milan@88.212.61.169) (Quit: WeeChat 4.5.2)
2025-12-18 10:07:55 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-12-18 10:09:58 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-18 10:16:31 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 10:20:41 +0100Googulator36(~Googulato@80-95-87-105.pool.digikabel.hu)
2025-12-18 10:20:46 +0100Googulator77(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 10:22:05 +0100sp1ff`(~user@2601:1c2:4701:900::327f)
2025-12-18 10:35:55 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2025-12-18 10:44:48 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-12-18 10:46:29 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-12-18 10:46:57 +0100Googulator36(~Googulato@80-95-87-105.pool.digikabel.hu) (Quit: Client closed)
2025-12-18 10:47:13 +0100Googulator36(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 10:47:30 +0100haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2025-12-18 10:47:30 +0100haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2025-12-18 10:47:30 +0100haritz(~hrtz@user/haritz) haritz
2025-12-18 10:48:27 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-18 10:48:59 +0100troydm(~troydm@user/troydm) troydm
2025-12-18 10:50:53 +0100Googulator95(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 10:51:17 +0100Googulator36(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Client Quit)
2025-12-18 10:52:52 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 246 seconds)
2025-12-18 10:56:58 +0100trickard(~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-18 10:57:11 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-18 10:59:45 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-18 11:01:07 +0100fp(~Thunderbi@2001:708:20:1406::1370) fp
2025-12-18 11:10:12 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-12-18 11:13:39 +0100xff0x_(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds)
2025-12-18 11:20:16 +0100Googulator95(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 11:20:31 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 246 seconds)
2025-12-18 11:20:33 +0100Googulator95(~Googulato@80-95-87-105.pool.digikabel.hu)
2025-12-18 11:22:03 +0100trickard_trickard
2025-12-18 11:35:29 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-18 11:35:30 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Read error: Connection reset by peer)
2025-12-18 11:38:11 +0100vanishingideal(~vanishing@user/vanishingideal) (Remote host closed the connection)
2025-12-18 11:46:51 +0100trickard(~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-18 11:47:05 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-18 11:57:08 +0100AlexNoo_AlexNoo
2025-12-18 11:57:08 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-18 11:58:25 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-12-18 12:06:08 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 12:07:11 +0100somemathguy(~somemathg@user/somemathguy) somemathguy
2025-12-18 12:11:04 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 260 seconds)
2025-12-18 12:18:55 +0100xff0x(~xff0x@2405:6580:b080:900:e22e:72a9:5af7:ae26)
2025-12-18 12:19:54 +0100troydm(~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2025-12-18 12:20:30 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-18 12:20:43 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-18 12:25:39 +0100karenw(~karenw@user/karenw) (Ping timeout: 260 seconds)
2025-12-18 12:26:14 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-12-18 12:31:12 +0100fp(~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 252 seconds)
2025-12-18 12:31:30 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-18 12:31:43 +0100trickard_(~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-18 12:38:10 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-18 12:38:13 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-18 12:43:49 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 12:44:31 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2025-12-18 12:45:29 +0100fp(~Thunderbi@wireless-86-50-140-165.open.aalto.fi) fp
2025-12-18 12:48:15 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 245 seconds)
2025-12-18 12:56:49 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-18 13:01:49 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-12-18 13:02:17 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 13:04:26 +0100jackneill__(~Jackneill@178-164-234-79.pool.digikabel.hu)
2025-12-18 13:06:35 +0100Jackneill_(~Jackneill@178-164-177-109.pool.digikabel.hu) (Ping timeout: 240 seconds)
2025-12-18 13:12:31 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 246 seconds)
2025-12-18 13:12:36 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-18 13:23:10 +0100GoldsteinQ(~goldstein@goldstein.rs) (Quit: ZNC 1.9.1 - https://znc.in)
2025-12-18 13:26:12 +0100GoldsteinQ(~goldstein@goldstein.lol)
2025-12-18 13:26:44 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 13:35:52 +0100Googulator52(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 13:36:22 +0100Googulator95(~Googulato@80-95-87-105.pool.digikabel.hu) (Quit: Client closed)
2025-12-18 13:39:42 +0100tromp(~textual@89-99-43-152.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-12-18 13:45:52 +0100trickard_trickard
2025-12-18 13:46:49 +0100lucabtz(~lucabtz@user/lucabtz) (Ping timeout: 264 seconds)
2025-12-18 13:46:50 +0100fp(~Thunderbi@wireless-86-50-140-165.open.aalto.fi) (Remote host closed the connection)
2025-12-18 13:47:54 +0100lucabtz(~lucabtz@user/lucabtz) lucabtz
2025-12-18 13:49:54 +0100pabs3(~pabs3@user/pabs3) (Ping timeout: 244 seconds)
2025-12-18 13:52:04 +0100lucabtz(~lucabtz@user/lucabtz) (Ping timeout: 244 seconds)
2025-12-18 13:52:57 +0100lucabtz(~lucabtz@user/lucabtz) lucabtz
2025-12-18 13:54:49 +0100fp(~Thunderbi@wireless-86-50-140-165.open.aalto.fi) fp
2025-12-18 13:58:39 +0100fp(~Thunderbi@wireless-86-50-140-165.open.aalto.fi) (Remote host closed the connection)
2025-12-18 14:01:11 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 256 seconds)
2025-12-18 14:06:20 +0100pabs3(~pabs3@user/pabs3) pabs3
2025-12-18 14:18:06 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-12-18 14:18:33 +0100fp(~Thunderbi@2001:708:150:10::7e06) fp
2025-12-18 14:21:03 +0100fp(~Thunderbi@2001:708:150:10::7e06) (Remote host closed the connection)
2025-12-18 14:22:57 +0100fp1(~Thunderbi@2001:708:20:1406::10c5) fp
2025-12-18 14:24:58 +0100qqe(~qqq@185.54.20.98)
2025-12-18 14:25:14 +0100fp1fp
2025-12-18 14:27:46 +0100tromp(~textual@2001:1c00:3487:1b00:388e:400a:f906:df4a)
2025-12-18 14:27:48 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 252 seconds)
2025-12-18 14:28:33 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2025-12-18 14:29:50 +0100Googulator52Googulator
2025-12-18 14:30:15 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-18 14:40:44 +0100Googulator(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 14:40:51 +0100Googulator72(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 14:48:29 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656)
2025-12-18 14:48:37 +0100merijn(~merijn@77.242.116.146) (Quit: restart)
2025-12-18 14:49:20 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-18 14:51:32 +0100smeik5005(~smeik5005@2a06:93c1:301:3:914d:b7d0:703d:161b)
2025-12-18 14:56:23 +0100tromp(~textual@2001:1c00:3487:1b00:388e:400a:f906:df4a) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-12-18 15:01:26 +0100comerijn(~merijn@77.242.116.146) merijn
2025-12-18 15:01:47 +0100smeik5005(~smeik5005@2a06:93c1:301:3:914d:b7d0:703d:161b) (Ping timeout: 265 seconds)
2025-12-18 15:04:09 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 250 seconds)
2025-12-18 15:04:12 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:d8ae:76cb:bbd3:c656) (Ping timeout: 265 seconds)
2025-12-18 15:20:46 +0100shaeto(~Shaeto@94.25.234.244)
2025-12-18 15:25:16 +0100shaeto(~Shaeto@94.25.234.244) (Ping timeout: 255 seconds)
2025-12-18 15:27:03 +0100shaeto(~Shaeto@94.25.234.244)
2025-12-18 15:28:42 +0100shaeto_(~Shaeto@94.25.234.244)
2025-12-18 15:31:34 +0100shaeto(~Shaeto@94.25.234.244) (Ping timeout: 255 seconds)
2025-12-18 15:31:38 +0100shaeto__(~Shaeto@94.25.234.244)
2025-12-18 15:32:52 +0100shaeto(~Shaeto@78.37.15.179)
2025-12-18 15:33:28 +0100shaeto_(~Shaeto@94.25.234.244) (Ping timeout: 260 seconds)
2025-12-18 15:35:43 +0100shaeto__(~Shaeto@94.25.234.244) (Ping timeout: 240 seconds)
2025-12-18 15:36:31 +0100itaipu(~itaipu@168.121.97.28) (Ping timeout: 240 seconds)
2025-12-18 15:36:41 +0100shaeto_(~Shaeto@78.37.15.179)
2025-12-18 15:37:25 +0100shaeto(~Shaeto@78.37.15.179) (Ping timeout: 255 seconds)
2025-12-18 15:37:25 +0100 <shaeto_> hi, question, how to see code produced by "deriving (Eq, Ord)" for Peano numbers ? is it pure recursive or some hack for performance ?
2025-12-18 15:37:46 +0100 <tomsmeding> the deriving-generated code is generally not very clever
2025-12-18 15:38:31 +0100 <tomsmeding> shaeto_: you can pass -ddump-deriv to GHC to have deriving-generated code printed to stderr; an easy way to do this for a single module is to put {-# OPTIONS -ddump-deriv #-} at the top of the file
2025-12-18 15:38:54 +0100 <tomsmeding> https://downloads.haskell.org/ghc/latest/docs/users_guide/flags.html#compiler-debugging-options
2025-12-18 15:40:00 +0100 <shaeto_> @tomsmeding thank you, will try, i just want to understand it for learning purposes
2025-12-18 15:40:00 +0100 <lambdabot> Unknown command, try @list
2025-12-18 15:40:14 +0100 <tomsmeding> (we generally don't use @ on irc)
2025-12-18 15:40:52 +0100itaipu(~itaipu@168.121.97.28) itaipu
2025-12-18 15:41:16 +0100__monty__(~toonn@user/toonn) toonn
2025-12-18 15:41:27 +0100 <shaeto_> tomsmeding: thank you
2025-12-18 15:49:42 +0100carbolymer_(~carbolyme@delirium.systems) ()
2025-12-18 15:49:54 +0100carbolymer(carbolymer@delirium.systems) carbolymer
2025-12-18 15:50:20 +0100itaipu(~itaipu@168.121.97.28) (Ping timeout: 245 seconds)
2025-12-18 15:58:53 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-12-18 16:01:07 +0100itaipu(~itaipu@168.121.97.28) itaipu
2025-12-18 16:08:08 +0100shaeto(~Shaeto@94.25.234.244)
2025-12-18 16:11:03 +0100shaeto_(~Shaeto@78.37.15.179) (Ping timeout: 244 seconds)
2025-12-18 16:17:11 +0100fp(~Thunderbi@2001:708:20:1406::10c5) (Quit: fp)
2025-12-18 16:20:00 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-12-18 16:20:42 +0100tromp(~textual@2001:1c00:3487:1b00:388e:400a:f906:df4a)
2025-12-18 16:40:31 +0100somemathguy(~somemathg@user/somemathguy) (Ping timeout: 264 seconds)
2025-12-18 16:44:22 +0100lambda_gibbon(~lambda_gi@208.83.175.39)
2025-12-18 16:53:28 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-12-18 16:53:47 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 250 seconds)
2025-12-18 16:56:54 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-18 17:00:08 +0100somemathguy(~somemathg@user/somemathguy) somemathguy
2025-12-18 17:00:10 +0100qqe(~qqq@185.54.20.98) (Quit: Lost terminal)
2025-12-18 17:02:12 +0100somemathguy(~somemathg@user/somemathguy) (Client Quit)
2025-12-18 17:07:38 +0100merijn(~merijn@77.242.116.146) (Quit: leaving)
2025-12-18 17:22:53 +0100polux(~polux@51-15-169-172.rev.poneytelecom.eu) (Remote host closed the connection)
2025-12-18 17:23:37 +0100hiredman(~hiredman@frontier1.downey.family) hiredman
2025-12-18 17:29:32 +0100polux(~polux@51-15-169-172.rev.poneytelecom.eu) polux
2025-12-18 17:29:40 +0100lucabtz(~lucabtz@user/lucabtz) (Quit: Lost terminal)
2025-12-18 17:30:30 +0100tromp(~textual@2001:1c00:3487:1b00:388e:400a:f906:df4a) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-12-18 17:31:32 +0100Square2(~Square@user/square) Square
2025-12-18 17:32:52 +0100tromp(~textual@2001:1c00:3487:1b00:388e:400a:f906:df4a)
2025-12-18 17:40:27 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-18 17:44:48 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-12-18 18:00:08 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-12-18 18:02:30 +0100 <machinedgod> Hi everyone. Does anyone here have a bit of experience with linear-base and LinearTypes? I can't seem to figure out how to get projection functions on my datatypes to be linear.
2025-12-18 18:03:10 +0100 <machinedgod> Second issue: when I hide prelude and import Prelude.Linear - it seems like I lose ability to derive stock classes easily. Is this correct or I'm doing it wrong?
2025-12-18 18:05:24 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-12-18 18:14:44 +0100 <tomsmeding> machinedgod: I've never used Prelude.Linear, but I've used linear-base a bit; can you give a small code snippet showing precisely what projection functions you want?
2025-12-18 18:15:24 +0100jbob(~jbob@172.59.173.118)
2025-12-18 18:16:09 +0100jbob(~jbob@172.59.173.118) (Client Quit)
2025-12-18 18:18:35 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2025-12-18 18:20:14 +0100 <machinedgod> tomsmeding: Hey, thank you for replying! What I meant was, sorry for misusing a wrong term - a record selector function. Basically, a datatype with a named field - I would presume those auto-genned functions would be linear, when LinearTypes are enabled?
2025-12-18 18:27:49 +0100 <tomsmeding> aparently not!
2025-12-18 18:28:20 +0100 <tomsmeding> machinedgod: ah, see point 6 here https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/linear_types.html#limitations
2025-12-18 18:28:40 +0100 <tomsmeding> ah no that's not quite your question
2025-12-18 18:31:46 +0100 <tomsmeding> machinedgod: the constructor of a data type _is_ linear by default, unless you explicitly make it not so using GADTSyntax
2025-12-18 18:31:58 +0100marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2025-12-18 18:33:41 +0100 <tomsmeding> on reflection, yes, that bullet in the limitations _is_ your questoin
2025-12-18 18:33:47 +0100 <tomsmeding> *question
2025-12-18 18:40:12 +0100spew(~spew@user/spew) spew
2025-12-18 18:41:14 +0100 <machinedgod> tomsmeding: Aye, that's a good answer! Thank you, I did check the user manual and I did look into limitations - but I misread the part about records.
2025-12-18 18:42:20 +0100 <machinedgod> I am attempting to find a correct, uh... 'meta pattern' to use linear types. Its mainly to get some experience in usage. Do you maybe know what could I look at?
2025-12-18 18:43:15 +0100 <tomsmeding> I'm not sure. I used it once for a very specific purpose, and it worked fine for that, but there are still a lot of rough edges, I think
2025-12-18 18:43:40 +0100 <tomsmeding> decide what exactly you want to do with linearity, and find ways to accomplish that, is what I would say
2025-12-18 18:43:52 +0100 <tomsmeding> making your whole program "linear" is not really a thing
2025-12-18 18:48:38 +0100lambda_gibbon(~lambda_gi@208.83.175.39) (Ping timeout: 244 seconds)
2025-12-18 18:49:04 +0100 <machinedgod> You're reading my mind :) One good advice I've gotten was to separate observation from mutation, and to add 'authority' tokens which have linear access. That's what I'm going to attempt to do, and see how far I get.
2025-12-18 18:49:51 +0100 <machinedgod> But yeah, I honestly don't really have a clear goal on what do I want to accomplish - I have a toy project specifically crafted just so that I could toy around with lineary and 'real' problems and see what is doable, what isn't and what are the pros/cons. I've done the same thing when datakinds became a thing :)
2025-12-18 18:51:14 +0100 <tomsmeding> "authority tokens" sound like a design pattern to simplify writing APIs that use linearity to enforce certain invariants. That still requires you to have an idea beforehand what invariants you want to enforce, exactly :)
2025-12-18 18:51:30 +0100 <tomsmeding> I think that if you know that, it'll become clearer how to use linearity to accomplish that
2025-12-18 18:51:34 +0100 <tomsmeding> (and if it doesn't, come back)
2025-12-18 18:52:14 +0100 <tomsmeding> this is not to discourage you from experimenting, by the way! :)
2025-12-18 18:55:43 +0100 <machinedgod> tomsmeding: Oh, I didn't feel like you're being discouraging, quite the oppoosite! You're here, spending time of your life to consult me for free - if that isn't practical encouraging, I don't know what is :) and, I am taking your advice to heart, I've just poured myself another cup of coffee, and rather than typing more code, I'm gonna sit, look at it and think for a bit
2025-12-18 18:55:57 +0100 <machinedgod> Thank you, both for time and knowledge!
2025-12-18 18:56:07 +0100 <tomsmeding> nice, have fun :)
2025-12-18 18:56:27 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-12-18 19:00:47 +0100lambda_gibbon(~lambda_gi@208.83.175.39)
2025-12-18 19:01:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 19:06:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-12-18 19:15:32 +0100trickard(~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-18 19:15:44 +0100trickard(~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-18 19:17:13 +0100merijn(~merijn@62.45.136.136) merijn
2025-12-18 19:17:21 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-12-18 19:17:25 +0100lambda_gibbon(~lambda_gi@208.83.175.39) (Ping timeout: 264 seconds)
2025-12-18 19:17:29 +0100jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2025-12-18 19:17:48 +0100jmcantrell_jmcantrell
2025-12-18 19:19:38 +0100Pozyomka(~pyon@user/pyon) (Quit: bbl)
2025-12-18 19:21:54 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 256 seconds)
2025-12-18 19:29:50 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-12-18 19:30:38 +0100chele(~chele@user/chele) (Remote host closed the connection)
2025-12-18 19:32:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 19:39:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-18 19:42:18 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2025-12-18 19:44:36 +0100acidjnk(~acidjnk@p200300d6e7171981f0c6dc9689540cc0.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-12-18 19:50:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 19:54:24 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-12-18 19:55:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-12-18 19:55:37 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-12-18 19:59:27 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2025-12-18 19:59:27 +0100ljdarj1ljdarj
2025-12-18 20:02:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 20:04:15 +0100tromp(~textual@2001:1c00:3487:1b00:388e:400a:f906:df4a) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-12-18 20:07:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 20:14:50 +0100acidjnk(~acidjnk@p200300d6e7171981f0c6dc9689540cc0.dip0.t-ipconnect.de) acidjnk
2025-12-18 20:18:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 20:19:06 +0100talismanick(~user@2601:644:8502:d340::cd3d) talismanick
2025-12-18 20:20:21 +0100Tuplanolla(~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) Tuplanolla
2025-12-18 20:20:55 +0100weary-traveler(~user@user/user363627) user363627
2025-12-18 20:22:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 20:26:50 +0100shaeto(~Shaeto@94.25.234.244) (Quit: WeeChat 4.1.1)
2025-12-18 20:27:37 +0100shaeto(~Shaeto@94.25.234.244)
2025-12-18 20:28:19 +0100shaeto(~Shaeto@94.25.234.244) (Client Quit)
2025-12-18 20:28:52 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 244 seconds)
2025-12-18 20:29:51 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-12-18 20:32:20 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-12-18 20:32:56 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2025-12-18 20:33:40 +0100Lord_of_Life_Lord_of_Life
2025-12-18 20:34:11 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 20:39:08 +0100pavonia(~user@user/siracusa) siracusa
2025-12-18 20:39:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-18 20:49:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 20:51:21 +0100lockna(~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72)
2025-12-18 20:51:55 +0100lockna(~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72) (Remote host closed the connection)
2025-12-18 20:52:10 +0100lockna(~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72)
2025-12-18 20:52:12 +0100l0ckna(~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72)
2025-12-18 20:52:45 +0100lockna(~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72) (Remote host closed the connection)
2025-12-18 20:55:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-18 21:03:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 21:08:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-18 21:12:58 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-18 21:14:10 +0100 <haskellbridge> <Liamzee> is the real reason people don't want to use Haskell as an orchestrator that Haskell concurrency + FFI is cursed?
2025-12-18 21:15:39 +0100 <monochrom> Is Haskell concurrency + FFI cursed?
2025-12-18 21:15:51 +0100 <haskellbridge> <Liamzee> I mean you can always blame C etc for it
2025-12-18 21:16:03 +0100 <haskellbridge> <Liamzee> From experienced production devs: is it cursed?
2025-12-18 21:16:33 +0100 <haskellbridge> <Liamzee> I've been trying to build a wrapper around the tinyfiledialogs library, and it turns out that traverse_ forkIO, on Macos, at least, will cause the script runner to jam buffers
2025-12-18 21:16:47 +0100 <monochrom> I am not interested in blaming C, or blaming anything, at least for now.
2025-12-18 21:17:36 +0100 <monochrom> Have you heard of forkOS?
2025-12-18 21:17:36 +0100 <haskellbridge> <Liamzee> So, now I'm thinking no-inline unsafePerformIO global locks. ???
2025-12-18 21:17:42 +0100 <haskellbridge> <Liamzee> yes, I've used it.
2025-12-18 21:18:17 +0100 <haskellbridge> <Liamzee> Still, if I'm trying to build a library wrapper, I can't control whether the end user is using forkIO or forkOS
2025-12-18 21:18:23 +0100qqe(~qqq@185.54.20.98)
2025-12-18 21:19:17 +0100 <monochrom> You can assume that the end user has made the correct choice between forkIO and forkOS.
2025-12-18 21:19:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 21:19:28 +0100 <int-e> C libraries don't control from which threads they're called either
2025-12-18 21:20:41 +0100Googulator75(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 21:21:06 +0100 <monochrom> If you want tight control on which thread does what, the technique of "worker thread pool" has been well known for decades.
2025-12-18 21:21:38 +0100Googulator72(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 21:21:47 +0100omidmash(~omidmash@user/omidmash) (Quit: Ping timeout (120 seconds))
2025-12-18 21:21:53 +0100 <monochrom> And is particularly sweet in Haskell because Haskell has a much better API for sending messages to worker threads and/or pools.
2025-12-18 21:22:00 +0100omidmash(~omidmash@user/omidmash) omidmash
2025-12-18 21:22:35 +0100 <monochrom> (How better? You can send a f**king IO action as a message too. It doesn't even need to be data!)
2025-12-18 21:22:55 +0100 <monochrom> (It's what gtk2hs does.)
2025-12-18 21:23:31 +0100 <int-e> And fwiw, as FFIs go Haskell's is actually pretty nice, especially considering how old it is.
2025-12-18 21:24:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 21:24:08 +0100 <int-e> Other languages had you write dozens of lines of marshalling code by hand for the most trivial functions.
2025-12-18 21:26:53 +0100 <haskellbridge> <Liamzee> Honestly, I just had AI tell me that FFI + Haskell green threads / concurrency model is seriously difficult, especially if the wrapped library has global state
2025-12-18 21:27:03 +0100 <haskellbridge> <Liamzee> I mean, I can leave it unsafe, but I guess I put a premium on child safety
2025-12-18 21:27:15 +0100 <monochrom> "AI"
2025-12-18 21:27:18 +0100 <haskellbridge> <Liamzee> I'm asking here beceause AI hallucinates and is a bullshit machine, so I'd rather ask real humans
2025-12-18 21:27:34 +0100 <monochrom> Public LLMs are only as good as Internet trash.
2025-12-18 21:28:45 +0100 <monochrom> Hutton already explained why Haskell anything is seriously difficult.
2025-12-18 21:29:02 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2025-12-18 21:29:27 +0100 <monochrom> Programming is seriously difficult. Haskell is just being honest about it. Other languages try to sugar-coat it.
2025-12-18 21:31:11 +0100 <haskellbridge> <Liamzee> I mean the explanation is that other languages with their concurrency / FFI model is intended to be childsafe, i.e, it deliberately brain damages the concurrency + FFI model to avoid the overhead of childsafe-ing on the library designer side, but locks every user into the childsafe model, even when it's unnecessary
2025-12-18 21:31:15 +0100 <monochrom> But Haskell solutions have been well-known for decades for concurrently FFI-ing to C libs with global states and/or thread-local states.
2025-12-18 21:32:28 +0100 <haskellbridge> <Liamzee> the objective remark seems to be: Haskell concurrency + FFI is not childsafe (defined as, being brain-dead robust). It's the responsibility of the library builder to make it such. Or would you contest that?
2025-12-18 21:34:51 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-12-18 21:35:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 21:35:40 +0100 <monochrom> Which languages are childsafe?
2025-12-18 21:36:01 +0100 <int-e> brainfuck
2025-12-18 21:36:46 +0100l0ckna(~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72) (Quit: Leaving)
2025-12-18 21:36:57 +0100 <haskellbridge> <Liamzee> The AI comment was: "every language with worse concurrency", i.e, Py is an example because of how hard concurrency is, and Go is apparently another example.
2025-12-18 21:38:22 +0100 <sprout> Liamzee: that wasn't what the AI stated. and FFI-ing into something that isn't threadsafe of course is going to give you problems, no matter the language
2025-12-18 21:38:23 +0100 <monochrom> As a first-order approximation: Mutex is not childsafe unless used under Haskell's bracket idiom or Python's recent "with" idiom or C++'s RAII idiom. That immediately cuts down the candidates to just 4: Haskell, Python, C++, maybe Rust.
2025-12-18 21:39:08 +0100 <monochrom> However, none of those 4 force you to use those safe idioms. That further cuts down the candidates to 0.
2025-12-18 21:40:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-18 21:41:03 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-12-18 21:41:03 +0100 <haskellbridge> <Liamzee> Does Py etc use blocking FFI?
2025-12-18 21:41:11 +0100 <haskellbridge> <Liamzee> Go?
2025-12-18 21:43:13 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds)
2025-12-18 21:43:13 +0100ljdarj1ljdarj
2025-12-18 21:43:20 +0100 <sprout> Liamzee: your AI gave you a statement of fact that is true for any language
2025-12-18 21:43:44 +0100 <sprout> whether it's exceptionally difficult for Haskell is debatable
2025-12-18 21:46:11 +0100michalz(~michalz@185.246.207.193) (Remote host closed the connection)
2025-12-18 21:47:53 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-12-18 21:48:52 +0100lambda_gibbon(~lambda_gi@208.83.175.39)
2025-12-18 21:50:43 +0100Googulator75(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-18 21:50:51 +0100Googulator73(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-18 21:51:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 21:54:01 +0100lambda_gibbon(~lambda_gi@208.83.175.39) (Ping timeout: 244 seconds)
2025-12-18 21:55:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-18 22:04:40 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 22:11:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-18 22:14:49 +0100dolio(~dolio@130.44.140.168) (Quit: ZNC 1.10.1 - https://znc.in)
2025-12-18 22:16:48 +0100Pozyomka(~pyon@user/pyon) pyon
2025-12-18 22:22:13 +0100dolio(~dolio@130.44.140.168) dolio
2025-12-18 22:22:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-18 22:27:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)