2024/12/09

2024-12-09 00:04:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-09 00:08:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 00:09:32 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 00:09:55 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 00:12:11 +0100troojg(~troojg@user/troojg) troojg
2024-12-09 00:12:46 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 00:13:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-09 00:14:50 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-09 00:16:00 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 00:22:39 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 00:23:10 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 00:24:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 00:24:42 +0100 <shachaf> Man, the original (?) notion of Galois connection with antitone functions is so wacky when you're expecting the other thing.
2024-12-09 00:25:02 +0100 <shachaf> But the symmetry is sort of nice? Should I prefer this one?
2024-12-09 00:26:26 +0100 <shachaf> How does it work in categoryland -- I guess you'd have it go to an opposite category, and then you get two monads instead of a monad and a comonad?
2024-12-09 00:28:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 00:31:05 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-09 00:33:54 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-12-09 00:34:46 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2024-12-09 00:36:36 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 00:37:09 +0100 <monochrom> For most computer science purposes, the monotone version works best. It also matches adjunctions nicely. But yeah the antitone one has its uses and matches some contravariant version of adjunctions.
2024-12-09 00:37:13 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 00:38:02 +0100aku(aku@65.108.245.241) (Remote host closed the connection)
2024-12-09 00:38:27 +0100 <monochrom> The antitone one proves "the books I read = the books read by all people who read all books I read". >:)
2024-12-09 00:39:14 +0100aku(aku@65.108.245.241) eagleflo
2024-12-09 00:39:28 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 00:40:46 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 00:41:46 +0100 <monochrom> In Riehl's book it's "mutually right adjoints of two contravariant functors".
2024-12-09 00:44:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 00:46:14 +0100meinside(uid24933@id-24933.helmsley.irccloud.com) meinside
2024-12-09 00:52:01 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2024-12-09 00:52:29 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Remote host closed the connection)
2024-12-09 00:52:36 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 00:52:50 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-12-09 00:53:34 +0100vanishingideal(~vanishing@user/vanishingideal) (Remote host closed the connection)
2024-12-09 00:54:52 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 00:55:40 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-12-09 00:56:38 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 00:59:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 01:01:48 +0100rekahsoft(~rekahsoft@76.69.85.220) rekahsoft
2024-12-09 01:02:16 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 01:04:19 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 01:10:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 01:12:06 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 01:15:03 +0100sprotte24(~sprotte24@p200300d16f24a7000c2549cd7d1c6472.dip0.t-ipconnect.de) (Quit: Leaving)
2024-12-09 01:16:58 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 01:17:09 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-12-09 01:17:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-09 01:18:42 +0100vanishing(~vanishing@user/vanishingideal) vanishingideal
2024-12-09 01:20:33 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 01:20:37 +0100acidjnk_new(~acidjnk@p200300d6e7283f68cd5d354d221d3a3f.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-12-09 01:21:07 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 265 seconds)
2024-12-09 01:21:07 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 01:22:42 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2024-12-09 01:24:29 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 01:25:20 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Max SendQ exceeded)
2024-12-09 01:25:54 +0100xff0x(~xff0x@2405:6580:b080:900:8893:ef7:6a2e:2b23) (Ping timeout: 276 seconds)
2024-12-09 01:26:09 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 01:31:50 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 01:33:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 01:34:08 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 01:38:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-09 01:43:55 +0100troojg(~troojg@user/troojg) (Remote host closed the connection)
2024-12-09 01:44:20 +0100troojg(~troojg@user/troojg) troojg
2024-12-09 01:48:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 01:53:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-09 01:57:20 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 02:00:21 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Read error: Connection reset by peer)
2024-12-09 02:04:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 02:04:24 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds)
2024-12-09 02:04:45 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Remote host closed the connection)
2024-12-09 02:05:00 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 264 seconds)
2024-12-09 02:06:52 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 02:08:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 02:12:21 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Remote host closed the connection)
2024-12-09 02:12:29 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 02:14:17 +0100stiell(~stiell@gateway/tor-sasl/stiell) stiell
2024-12-09 02:19:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 02:23:32 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-12-09 02:24:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 02:24:56 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Remote host closed the connection)
2024-12-09 02:25:03 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c)
2024-12-09 02:27:07 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 02:35:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 02:36:54 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-09 02:39:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-09 02:45:24 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:d1ed:58ec:2cd9:cd3c) (Ping timeout: 260 seconds)
2024-12-09 02:45:55 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:8ebe:8e8b:1f35:b2c0)
2024-12-09 02:48:36 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:8ebe:8e8b:1f35:b2c0) (Read error: Connection reset by peer)
2024-12-09 02:48:49 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Quit: Nothing to see here. I wasn't there. https://files.catbox.moe/4yru45.pdf)
2024-12-09 02:49:36 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:8ebe:8e8b:1f35:b2c0)
2024-12-09 02:50:28 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 02:54:09 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:8ebe:8e8b:1f35:b2c0) (Ping timeout: 260 seconds)
2024-12-09 02:54:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 03:05:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 03:10:31 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-12-09 03:11:03 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-09 03:12:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-09 03:13:08 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-12-09 03:16:27 +0100nucleus(~grigory@77-174-131-220.fixed.kpn.net)
2024-12-09 03:20:46 +0100nucleus(~grigory@77-174-131-220.fixed.kpn.net) (Ping timeout: 252 seconds)
2024-12-09 03:23:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 03:25:21 +0100JeremyB99(~JeremyB99@dhcp-251-168.resnet.purdue.edu)
2024-12-09 03:28:12 +0100JeremyB99(~JeremyB99@dhcp-251-168.resnet.purdue.edu) (Read error: Connection reset by peer)
2024-12-09 03:28:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-09 03:28:56 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
2024-12-09 03:39:16 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 03:43:55 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 03:46:30 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 03:47:59 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 03:54:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 03:57:07 +0100ski(~ski@remote11.chalmers.se) (Remote host closed the connection)
2024-12-09 03:59:16 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-09 04:02:51 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 04:04:37 +0100JamesMowery439(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) (Quit: Ping timeout (120 seconds))
2024-12-09 04:06:06 +0100kadobanana(~mud@user/kadoban) (Remote host closed the connection)
2024-12-09 04:06:40 +0100kadobanana(~mud@user/kadoban) kadoban
2024-12-09 04:07:14 +0100JamesMowery439(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) JamesMowery
2024-12-09 04:10:02 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 04:14:12 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 04:14:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-09 04:19:44 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 04:19:57 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 04:25:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 04:26:52 +0100rekahsoft(~rekahsoft@76.69.85.220) (Remote host closed the connection)
2024-12-09 04:29:15 +0100rekahsoft(~rekahsoft@76.69.85.220) rekahsoft
2024-12-09 04:29:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-09 04:32:56 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 04:33:32 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 04:36:45 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 04:40:47 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 04:44:07 +0100matsurago(~matsurago@240b:10:b701:8b00:7bc3:8f18:3c0f:757f) matsurago
2024-12-09 04:45:26 +0100homo(~homo@user/homo) (Quit: homo)
2024-12-09 04:47:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-09 04:48:55 +0100homo(~homo@82-128-196-26.bb.dnainternet.fi)
2024-12-09 04:49:15 +0100homo(~homo@82-128-196-26.bb.dnainternet.fi) (Changing host)
2024-12-09 04:49:15 +0100homo(~homo@user/homo) homo
2024-12-09 04:54:38 +0100yangby(~secret@115.196.174.150) yangby
2024-12-09 04:55:31 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 04:57:33 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 04:58:19 +0100rekahsoft(~rekahsoft@76.69.85.220) (Ping timeout: 244 seconds)
2024-12-09 04:58:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 04:58:57 +0100td_(~td@i5387090F.versanet.de) (Ping timeout: 252 seconds)
2024-12-09 04:58:59 +0100troojg(~troojg@user/troojg) (Ping timeout: 260 seconds)
2024-12-09 04:59:26 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-09 05:00:39 +0100td_(~td@i5387091A.versanet.de) td_
2024-12-09 05:02:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 05:03:48 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-09 05:06:06 +0100OftenFaded(~OftenFade@user/tisktisk) (Quit: Client closed)
2024-12-09 05:12:11 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 05:14:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 05:15:16 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 05:19:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-09 05:20:27 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 05:21:51 +0100falafel(~falafel@2603:8000:b4f0:62a0:6544:3286:244f:f14) falafel
2024-12-09 05:24:34 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 05:29:28 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 05:31:51 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Quit: Nothing to see here. I wasn't there. https://files.catbox.moe/4yru45.pdf)
2024-12-09 05:32:54 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 276 seconds)
2024-12-09 05:33:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 05:37:01 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 05:39:42 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 05:44:50 +0100ephilalethes(~noumenon@2001:fb1:4b:b8b7:aa7e:eaff:fede:ff94) noumenon
2024-12-09 05:44:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 05:47:53 +0100troydm(~troydm@user/troydm) troydm
2024-12-09 05:49:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-09 05:50:05 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 05:55:35 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-09 05:56:24 +0100korrykatti(~korrykatt@user/korrykatti) korrykatti
2024-12-09 05:58:00 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 05:59:47 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 06:00:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 06:00:18 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649)
2024-12-09 06:04:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-09 06:06:17 +0100ski(~ski@remote11.chalmers.se) ski
2024-12-09 06:15:29 +0100alp(~alp@2001:861:8ca0:4940:b657:7732:c16b:433f) (Ping timeout: 248 seconds)
2024-12-09 06:15:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 06:15:41 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Quit: Nothing to see here. I wasn't there. https://files.catbox.moe/4yru45.pdf)
2024-12-09 06:20:21 +0100alp(~alp@2001:861:8ca0:4940:d753:e5aa:d992:f61)
2024-12-09 06:22:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-09 06:23:54 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 06:29:25 +0100Sgeo_(~Sgeo@user/sgeo) Sgeo
2024-12-09 06:31:59 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Quit: Nothing to see here. I wasn't there. https://files.catbox.moe/4yru45.pdf)
2024-12-09 06:32:29 +0100Sgeo(~Sgeo@user/sgeo) (Ping timeout: 245 seconds)
2024-12-09 06:34:49 +0100michalz(~michalz@185.246.207.201)
2024-12-09 06:38:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 06:43:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 06:54:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 06:57:23 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-09 06:58:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-09 06:59:14 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-09 06:59:17 +0100vanishing(~vanishing@user/vanishingideal) (Ping timeout: 248 seconds)
2024-12-09 07:01:00 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-12-09 07:09:12 +0100falafel(~falafel@2603:8000:b4f0:62a0:6544:3286:244f:f14) (Ping timeout: 246 seconds)
2024-12-09 07:14:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 07:19:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-09 07:22:54 +0100Square2(~Square4@user/square) Square
2024-12-09 07:23:53 +0100CiaoSen(~Jura@2a05:5800:2c8:700:ca4b:d6ff:fec1:99da) CiaoSen
2024-12-09 07:24:21 +0100ephilalethes(~noumenon@2001:fb1:4b:b8b7:aa7e:eaff:fede:ff94) (Ping timeout: 248 seconds)
2024-12-09 07:30:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 07:30:35 +0100korrykatti(~korrykatt@user/korrykatti) (Remote host closed the connection)
2024-12-09 07:30:56 +0100matsurago(~matsurago@240b:10:b701:8b00:7bc3:8f18:3c0f:757f) (Quit: Leaving)
2024-12-09 07:32:11 +0100nucleus(~grigory@77-174-131-220.fixed.kpn.net)
2024-12-09 07:35:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-09 07:35:40 +0100korrykatti(~korrykatt@user/korrykatti) korrykatti
2024-12-09 07:36:45 +0100ephilalethes(~noumenon@2001:fb1:4b:b8b7:aa7e:eaff:fede:ff94) noumenon
2024-12-09 07:37:22 +0100korrykatti(~korrykatt@user/korrykatti) (Remote host closed the connection)
2024-12-09 07:39:49 +0100alp(~alp@2001:861:8ca0:4940:d753:e5aa:d992:f61) (Ping timeout: 248 seconds)
2024-12-09 07:41:09 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 07:41:54 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Max SendQ exceeded)
2024-12-09 07:42:51 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 07:45:38 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 07:49:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 07:50:04 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) oneeyedalien
2024-12-09 07:54:21 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 246 seconds)
2024-12-09 07:56:33 +0100acidjnk_new(~acidjnk@p200300d6e7283f551932c6ca42eccac0.dip0.t-ipconnect.de) acidjnk
2024-12-09 08:00:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 08:01:33 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-12-09 08:05:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-09 08:05:31 +0100Sgeo_(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-12-09 08:09:17 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2024-12-09 08:13:59 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Quit: Nothing to see here. I wasn't there. https://files.catbox.moe/4yru45.pdf)
2024-12-09 08:15:09 +0100gentauro(~gentauro@user/gentauro) gentauro
2024-12-09 08:16:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 08:21:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-09 08:25:18 +0100AlexZenon(~alzenon@5.139.233.0) (Read error: Connection reset by peer)
2024-12-09 08:25:35 +0100AlexZenon(~alzenon@5.139.233.0)
2024-12-09 08:31:38 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 08:32:53 +0100korrykatti(~korrykatt@user/korrykatti) korrykatti
2024-12-09 08:34:48 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
2024-12-09 08:35:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 08:47:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 08:47:21 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving)
2024-12-09 08:51:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 08:56:34 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2024-12-09 08:58:32 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-09 08:59:18 +0100korrykatti(~korrykatt@user/korrykatti) (Remote host closed the connection)
2024-12-09 09:00:01 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-12-09 09:00:16 +0100pja(~pja@2a02:8010:6098:0:e65f:1ff:fe1f:660f) (Read error: Connection reset by peer)
2024-12-09 09:00:40 +0100caconym(~caconym@user/caconym) caconym
2024-12-09 09:01:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 09:04:48 +0100pja(~pja@2a02:8010:6098:0:e65f:1ff:fe1f:660f) pja
2024-12-09 09:07:15 +0100pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2024-12-09 09:08:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-09 09:10:07 +0100pavonia(~user@user/siracusa) siracusa
2024-12-09 09:19:16 +0100acidjnk_new(~acidjnk@p200300d6e7283f551932c6ca42eccac0.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2024-12-09 09:19:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 09:22:21 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Ping timeout: 276 seconds)
2024-12-09 09:24:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-09 09:28:17 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-09 09:29:32 +0100alp(~alp@2001:861:8ca0:4940:868:4c34:dd09:140b)
2024-12-09 09:30:29 +0100homo(~homo@user/homo) (Quit: homo)
2024-12-09 09:35:25 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-09 09:37:20 +0100pavonia(~user@user/siracusa) (Ping timeout: 252 seconds)
2024-12-09 09:43:56 +0100pavonia(~user@user/siracusa) siracusa
2024-12-09 09:45:43 +0100briandaed(~root@user/briandaed) briandaed
2024-12-09 09:48:27 +0100pavonia(~user@user/siracusa) (Ping timeout: 246 seconds)
2024-12-09 09:48:46 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-12-09 09:55:52 +0100pavonia(~user@user/siracusa) siracusa
2024-12-09 09:58:50 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2024-12-09 10:01:41 +0100pavonia(~user@user/siracusa) (Ping timeout: 248 seconds)
2024-12-09 10:03:11 +0100pavonia(~user@user/siracusa) siracusa
2024-12-09 10:04:48 +0100housemate(~housemate@2405:6e00:243a:cde6:f85f:14ad:315:6876) housemate
2024-12-09 10:06:35 +0100CiaoSen(~Jura@2a05:5800:2c8:700:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
2024-12-09 10:07:48 +0100pavonia(~user@user/siracusa) (Ping timeout: 244 seconds)
2024-12-09 10:07:57 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-09 10:08:36 +0100pavonia(~user@user/siracusa) siracusa
2024-12-09 10:09:15 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) oneeyedalien
2024-12-09 10:11:30 +0100dpratt(~dpratt@165.225.220.148) (Quit: Client closed)
2024-12-09 10:15:26 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2024-12-09 10:25:22 +0100pavonia(~user@user/siracusa) (Ping timeout: 252 seconds)
2024-12-09 10:25:57 +0100housemate(~housemate@2405:6e00:243a:cde6:f85f:14ad:315:6876) (Read error: Connection reset by peer)
2024-12-09 10:26:41 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-12-09 10:27:32 +0100housemate(~housemate@2405:6e00:243a:cde6:ebfb:7a90:e12b:25f7) housemate
2024-12-09 10:28:18 +0100acidjnk_new(~acidjnk@p200300d6e7283f551932c6ca42eccac0.dip0.t-ipconnect.de) acidjnk
2024-12-09 10:28:23 +0100 <ncf> i don't think i like that terminology
2024-12-09 10:28:38 +0100 <ncf> "mutually right adjoint" sounds like an ambidextrous adjunction to me
2024-12-09 10:30:42 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-12-09 10:31:08 +0100housemate(~housemate@2405:6e00:243a:cde6:ebfb:7a90:e12b:25f7) (Max SendQ exceeded)
2024-12-09 10:32:27 +0100housemate(~housemate@2405:6e00:243a:cde6:ebfb:7a90:e12b:25f7) housemate
2024-12-09 10:33:38 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds)
2024-12-09 10:36:33 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-09 10:40:21 +0100pavonia(~user@user/siracusa) siracusa
2024-12-09 10:41:15 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2024-12-09 10:42:20 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Read error: Connection reset by peer)
2024-12-09 10:44:04 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-12-09 10:45:07 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-09 10:49:08 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-12-09 10:54:07 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2024-12-09 10:54:53 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-09 11:00:43 +0100housemate(~housemate@2405:6e00:243a:cde6:ebfb:7a90:e12b:25f7) (Quit: Nothing to see here. I wasn't there. https://files.catbox.moe/4yru45.pdf)
2024-12-09 11:07:59 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-12-09 11:09:23 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) jespada
2024-12-09 11:30:23 +0100housemate(~housemate@2405:6e00:243a:cde6:8efb:b06a:130a:9e2e) housemate
2024-12-09 11:32:50 +0100xff0x(~xff0x@2405:6580:b080:900:23ee:dfe8:3f69:3c79)
2024-12-09 11:44:00 +0100chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 264 seconds)
2024-12-09 11:44:08 +0100ash3en(~Thunderbi@89.246.174.164) ash3en
2024-12-09 11:45:48 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2024-12-09 11:47:08 +0100ash3en(~Thunderbi@89.246.174.164) (Client Quit)
2024-12-09 11:51:11 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-09 11:56:01 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-12-09 11:58:44 +0100__monty__(~toonn@user/toonn) toonn
2024-12-09 12:07:01 +0100troydm(~troydm@user/troydm) (Ping timeout: 248 seconds)
2024-12-09 12:07:14 +0100leif(~leif@210.54.33.112) leif
2024-12-09 12:10:23 +0100housemate(~housemate@2405:6e00:243a:cde6:8efb:b06a:130a:9e2e) (Quit: Nothing to see here. I wasn't there. https://files.catbox.moe/4yru45.pdf)
2024-12-09 12:16:33 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 276 seconds)
2024-12-09 12:20:04 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2024-12-09 12:23:24 +0100CiaoSen(~Jura@2a05:5800:2c8:700:ca4b:d6ff:fec1:99da) CiaoSen
2024-12-09 12:30:25 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-09 12:31:14 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-12-09 12:38:23 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-12-09 12:39:00 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-12-09 13:00:25 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-12-09 13:03:07 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-12-09 13:06:14 +0100zeshbtc(~zeshbtc@103.166.150.118)
2024-12-09 13:06:48 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:280d:d34:e20d:649) (Read error: Connection reset by peer)
2024-12-09 13:07:21 +0100comerijn(~merijn@77.242.116.146) merijn
2024-12-09 13:09:59 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-12-09 13:18:06 +0100yosef`(~yosef`@user/dostoevsky) dostoevsky
2024-12-09 13:18:35 +0100yosef`(~yosef`@user/dostoevsky) (Max SendQ exceeded)
2024-12-09 13:19:20 +0100dostoevsky(~dostoevsk@user/dostoevsky) dostoevsky
2024-12-09 13:19:35 +0100zeshbtc(~zeshbtc@103.166.150.118) (Quit: Client closed)
2024-12-09 13:19:39 +0100dostoevsky(~dostoevsk@user/dostoevsky) (Max SendQ exceeded)
2024-12-09 13:19:52 +0100yisef(~yisef@122.10.198.51)
2024-12-09 13:20:29 +0100dostoevsky(~dostoevsk@user/dostoevsky) dostoevsky
2024-12-09 13:20:51 +0100dostoevsky(~dostoevsk@user/dostoevsky) (Max SendQ exceeded)
2024-12-09 13:21:58 +0100dostoevsky(~dostoevsk@user/dostoevsky) dostoevsky
2024-12-09 13:22:03 +0100dostoevsky(~dostoevsk@user/dostoevsky) (Client Quit)
2024-12-09 13:22:59 +0100notzmv(~umar@user/notzmv) (Ping timeout: 260 seconds)
2024-12-09 13:23:46 +0100yisef(~yisef@122.10.198.51) (Client Quit)
2024-12-09 13:24:11 +0100gentauro(~gentauro@user/gentauro) (Ping timeout: 265 seconds)
2024-12-09 13:29:50 +0100ystael(~ystael@user/ystael) ystael
2024-12-09 13:30:50 +0100gentauro(~gentauro@user/gentauro) gentauro
2024-12-09 13:35:03 +0100spenat(~spenat@c-92-35-37-17.bbcust.telenor.se) (Read error: Connection reset by peer)
2024-12-09 13:35:46 +0100housemate(~housemate@2405:6e00:243a:cde6:f639:9062:73b7:e5f1) housemate
2024-12-09 13:38:09 +0100dostoevsky(~dostoevsk@user/dostoevsky) dostoevsky
2024-12-09 13:38:21 +0100dostoevsky(~dostoevsk@user/dostoevsky) (Max SendQ exceeded)
2024-12-09 13:38:56 +0100dostoevsky(~dostoevsk@user/dostoevsky) dostoevsky
2024-12-09 13:39:23 +0100dostoevsky(~dostoevsk@user/dostoevsky) (Max SendQ exceeded)
2024-12-09 13:40:16 +0100spenat(~spenat@c-92-35-37-17.bbcust.telenor.se)
2024-12-09 13:40:36 +0100dostoevsky(~dostoevsk@user/dostoevsky) dostoevsky
2024-12-09 13:47:09 +0100zeshbtc(~zeshbtc@103.166.150.118)
2024-12-09 13:50:47 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-12-09 13:51:40 +0100zeshbtc(~zeshbtc@103.166.150.118) (Ping timeout: 240 seconds)
2024-12-09 13:52:39 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-12-09 13:59:34 +0100housemate(~housemate@2405:6e00:243a:cde6:f639:9062:73b7:e5f1) (Read error: Connection reset by peer)
2024-12-09 14:07:57 +0100mari-estel(~mari-este@user/mari-estel) (Quit: lunch time)
2024-12-09 14:08:21 +0100SlackCoder(~SlackCode@208.26.67.43) SlackCoder
2024-12-09 14:09:36 +0100SlackCoder(~SlackCode@208.26.67.43) (Remote host closed the connection)
2024-12-09 14:10:01 +0100SlackCoder(~SlackCode@208.26.67.43) SlackCoder
2024-12-09 14:12:06 +0100SlackCoder(~SlackCode@208.26.67.43) (Remote host closed the connection)
2024-12-09 14:12:30 +0100SlackCoder(~SlackCode@208.26.67.43) SlackCoder
2024-12-09 14:13:36 +0100SlackCoder(~SlackCode@208.26.67.43) (Remote host closed the connection)
2024-12-09 14:14:03 +0100SlackCoder(~SlackCode@208.26.67.43) SlackCoder
2024-12-09 14:27:12 +0100nucleus(~grigory@77-174-131-220.fixed.kpn.net) (Remote host closed the connection)
2024-12-09 14:28:10 +0100mange(~user@user/mange) (Quit: Zzz...)
2024-12-09 14:29:03 +0100tnt1(~Thunderbi@user/tnt1) (Remote host closed the connection)
2024-12-09 14:39:03 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-12-09 14:47:27 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-12-09 14:49:23 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2024-12-09 14:49:38 +0100ash3en(~Thunderbi@89.246.174.164) ash3en
2024-12-09 14:51:15 +0100ash3en(~Thunderbi@89.246.174.164) (Client Quit)
2024-12-09 14:51:40 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-12-09 14:55:11 +0100weary-traveler(~user@user/user363627) user363627
2024-12-09 14:55:29 +0100rekahsoft(~rekahsoft@76.69.85.220) rekahsoft
2024-12-09 14:59:59 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-09 15:02:43 +0100nucleus(~grigory@77-174-131-220.fixed.kpn.net)
2024-12-09 15:08:50 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-09 15:12:29 +0100CiaoSen(~Jura@2a05:5800:2c8:700:ca4b:d6ff:fec1:99da) (Ping timeout: 245 seconds)
2024-12-09 15:25:30 +0100dostoevsky(~dostoevsk@user/dostoevsky) (Quit: dostoevsky)
2024-12-09 15:29:39 +0100comerijn(~merijn@77.242.116.146) merijn
2024-12-09 15:32:16 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2024-12-09 15:32:16 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 244 seconds)
2024-12-09 15:34:36 +0100ash3en(~Thunderbi@89.246.174.164) ash3en
2024-12-09 15:41:03 +0100ash3en(~Thunderbi@89.246.174.164) (Ping timeout: 244 seconds)
2024-12-09 15:46:09 +0100SlackCoder(~SlackCode@208.26.67.43) (Remote host closed the connection)
2024-12-09 15:50:31 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) myxokephale
2024-12-09 15:53:02 +0100mari-estel(~mari-este@user/mari-estel) (Quit: on the move)
2024-12-09 16:01:12 +0100acidjnk_new(~acidjnk@p200300d6e7283f551932c6ca42eccac0.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2024-12-09 16:05:38 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-12-09 16:08:33 +0100hiecaq(~hiecaq@user/hiecaq) hiecaq
2024-12-09 16:09:59 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) billchenchina
2024-12-09 16:12:14 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Client Quit)
2024-12-09 16:13:59 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) billchenchina
2024-12-09 16:17:13 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2024-12-09 16:17:13 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-09 16:19:41 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-09 16:20:30 +0100youthlic(~Thunderbi@user/youthlic) (Quit: youthlic)
2024-12-09 16:22:24 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-12-09 16:24:15 +0100acidjnk_new(~acidjnk@p200300d6e7283f552879c496916057ac.dip0.t-ipconnect.de) acidjnk
2024-12-09 16:25:00 +0100alp(~alp@2001:861:8ca0:4940:868:4c34:dd09:140b) (Ping timeout: 246 seconds)
2024-12-09 16:26:33 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-09 16:31:07 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-12-09 16:33:48 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 264 seconds)
2024-12-09 16:35:44 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2024-12-09 16:46:28 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-09 16:46:47 +0100sprotte24(~sprotte24@p200300d16f2d2100180c9c45abd3e2c7.dip0.t-ipconnect.de)
2024-12-09 16:49:24 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-09 16:54:56 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-12-09 17:02:17 +0100 <hellwolf> k r (f a) ≅ f (k r a) <-- does this look like anything known?
2024-12-09 17:02:54 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-12-09 17:03:09 +0100 <hellwolf> k r (m a) ≅ m (k r a). perhaps "m" is more idiomatic here.
2024-12-09 17:06:06 +0100 <geekosaur> not per se, although it's close to sequence/sequenceA
2024-12-09 17:06:56 +0100 <hellwolf> > :t sequence
2024-12-09 17:06:58 +0100 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2024-12-09 17:07:08 +0100 <hellwolf> > t sequence
2024-12-09 17:07:10 +0100 <lambdabot> error:
2024-12-09 17:07:10 +0100 <lambdabot> • Couldn't match expected type ‘(t0 (m0 a0) -> m0 (t0 a0)) -> t’
2024-12-09 17:07:10 +0100 <lambdabot> with actual type ‘Expr’
2024-12-09 17:07:11 +0100 <geekosaur> :t sequence
2024-12-09 17:07:12 +0100 <lambdabot> (Traversable t, Monad m) => t (m a) -> m (t a)
2024-12-09 17:07:37 +0100 <hellwolf> :t let t = k r in k r (m a) ≅ m (k r a)
2024-12-09 17:07:38 +0100 <lambdabot> error:
2024-12-09 17:07:38 +0100 <lambdabot> • Couldn't match expected type ‘Expr -> t4’ with actual type ‘Expr’
2024-12-09 17:07:38 +0100 <lambdabot> • The function ‘k’ is applied to one argument,
2024-12-09 17:07:51 +0100 <geekosaur> sadly, associativity means you can't simply unify t with k r
2024-12-09 17:08:05 +0100 <mari-estel> easier with a lambda hellwolf
2024-12-09 17:08:50 +0100 <mari-estel> :t \ k r (m a) -> m (k r a)
2024-12-09 17:08:51 +0100 <lambdabot> error: Parse error in pattern: m
2024-12-09 17:08:51 +0100 <hellwolf> but that's correct it is the same as: t (m a) ≅ m (t a) where t = k r
2024-12-09 17:09:36 +0100 <geekosaur> mm, actually, yes, I was thinking of the wrong side
2024-12-09 17:09:40 +0100 <geekosaur> it should unify
2024-12-09 17:09:56 +0100 <hellwolf> But I don't think I can have m as Monad, that seems very strong condition... let me think a bit
2024-12-09 17:10:17 +0100 <geekosaur> sequenceA uses Applicative instead
2024-12-09 17:10:24 +0100 <geekosaur> sequence is legacy these days
2024-12-09 17:10:46 +0100 <geekosaur> :t sequenceA
2024-12-09 17:10:48 +0100 <lambdabot> (Traversable t, Applicative f) => t (f a) -> f (t a)
2024-12-09 17:11:04 +0100 <geekosaur> note that you do need at least Applicative for this to work
2024-12-09 17:11:08 +0100 <hellwolf> yummy. that starts to look like something.
2024-12-09 17:13:53 +0100 <hellwolf> So, I need to implement the sequenceA or traverse function where f must be an applicative.
2024-12-09 17:13:57 +0100 <hellwolf> :t traverse
2024-12-09 17:13:57 +0100 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2024-12-09 17:14:14 +0100 <merijn> :t traverse_
2024-12-09 17:14:15 +0100 <lambdabot> (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
2024-12-09 17:18:11 +0100nucleus(~grigory@77-174-131-220.fixed.kpn.net) (Ping timeout: 244 seconds)
2024-12-09 17:18:12 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-09 17:18:13 +0100 <geekosaur> note that, historically, traverse was mapM which was `mapM f xs = sequence (map f xs)`
2024-12-09 17:19:10 +0100 <geekosaur> the reformulation in terms of traverse and sequenceA kinda inverted things a bit
2024-12-09 17:23:00 +0100EvanR(~EvanR@user/evanr) EvanR
2024-12-09 17:25:39 +0100skiidly wonders what hellwolf is trying to do
2024-12-09 17:28:41 +0100 <EvanR> the last thing in my logs was about the package safeint, which is intended to crash if the arithmetic overflows or underflows
2024-12-09 17:28:54 +0100 <EvanR> now that's my kind of "safe"
2024-12-09 17:29:36 +0100 <EvanR> safe in godot game engine is "don't let the game engine ever crash no matter what happens"
2024-12-09 17:29:47 +0100 <EvanR> the exact opposite
2024-12-09 17:30:31 +0100hiecaq(~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.92))
2024-12-09 17:31:46 +0100 <mari-estel> well if no static checks are available, in general one does not want any program to crash at runtime
2024-12-09 17:31:49 +0100 <haskellbridge> <hellwolf> ski, I will be back at explaining, fixing ether cable atm
2024-12-09 17:31:53 +0100 <haskellbridge> <hellwolf> nightmare entanglement in the office of these cables
2024-12-09 17:33:09 +0100 <merijn> EvanR: I mean, it makes sense that (in a game engine) your prime-directive is "do not crash the user's game" :)
2024-12-09 17:33:40 +0100 <merijn> EvanR: There's always fun confusion with the meaning of safe/unsafe in FFI imports too :p
2024-12-09 17:33:58 +0100 <EvanR> different objectives makes sense, calling all them "safe" even if contradictory is annoying
2024-12-09 17:34:09 +0100 <merijn> Where people sometimes interpret "unsafe" as "foreign import something unsafe" as opposed to "unsafely import something foreign" :p
2024-12-09 17:34:32 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-09 17:34:45 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder
2024-12-09 17:34:57 +0100 <c_wraith> the thing about godot is that not crashing often implies filling your hard drive with gigabytes of error logs...
2024-12-09 17:37:43 +0100ephilalethes(~noumenon@2001:fb1:4b:b8b7:aa7e:eaff:fede:ff94) (Quit: Leaving)
2024-12-09 17:38:13 +0100 <EvanR> if you have something that traditionally leads to a crash, like division by zero, it takes the liberty of yielding null instead. What could go wrong next
2024-12-09 17:38:30 +0100 <EvanR> not crashing so it's fine!
2024-12-09 17:39:48 +0100mari-estel(~mari-este@user/mari-estel) (Quit: cheers)
2024-12-09 17:39:58 +0100 <int-e> . o O ( s/null/this_is_fine/g )
2024-12-09 17:41:51 +0100 <EvanR> is advent of code still going string in here
2024-12-09 17:41:56 +0100 <EvanR> by string I mean strong
2024-12-09 17:44:17 +0100housemate(~housemate@2405:6e00:243a:cde6:f749:6d8f:e7af:7805) housemate
2024-12-09 17:45:01 +0100 <hellwolf> sequenceA seems more fitting for what I need here. If I restate with my k, which is a category, r ↝ f a is a morphism from r to "f a" in the category of k. Hence, I can rewrite it to: r ↝ (f a) ≅ f (r ↝ a), this is in the shape and form for what I need, but it is also the same as sequenceA if I squint my eyes at it.
2024-12-09 17:45:32 +0100 <int-e> EvanR: it's less of a topic than previous years
2024-12-09 17:45:44 +0100 <EvanR> bummer
2024-12-09 17:46:43 +0100 <hellwolf> And, more importantly, that's how I will implement my pattern matching for this category, as an example, say f is Maybe:
2024-12-09 17:46:43 +0100 <hellwolf> pat :: r ↝ Maybe a ≅ Maybe (r ↝ a), that "pat" function is just an alias for sequenceA, it turns out ...
2024-12-09 17:46:54 +0100 <int-e> but there's 41 people on glguy's leaderboard that have all stars (or 25 people if you include today)
2024-12-09 17:47:04 +0100 <int-e> it's not dead :P
2024-12-09 17:47:20 +0100 <sprout> thank you
2024-12-09 17:47:33 +0100 <glguy> EvanR: I think we used have more discussion in this channel in the years when #adventofcode didn't exist
2024-12-09 17:48:05 +0100 <glguy> A lot of the Haskell AoC discussion moved over
2024-12-09 17:48:15 +0100 <hellwolf> And I also vaguely remember and assume, that all simple ADT (perhaps not GADT) are automatically an applicative, so I kinda have it for free for all ADTs.
2024-12-09 17:48:41 +0100 <hellwolf> or maybe that's wrong, I think trees are not. But it doesn't matter too much to me.
2024-12-09 17:48:57 +0100 <EvanR> really, #adventofcode had a lot of not haskell last times, and I'm always in the habit of never bringing up haskell outside this channel for fear of being ridiculed xD
2024-12-09 17:48:59 +0100 <hellwolf> It's good enough an observation for me to work on.
2024-12-09 17:49:37 +0100 <hellwolf> > for fear of being ridiculed
2024-12-09 17:49:37 +0100 <hellwolf> Is "Haskell" the "Trump" word in programming circle... :p
2024-12-09 17:49:38 +0100 <lambdabot> <hint>:1:10: error: parse error on input ‘of’
2024-12-09 17:50:03 +0100EvanRridicules hellwolf
2024-12-09 17:50:13 +0100 <sprout> haskell is brat
2024-12-09 17:50:26 +0100 <EvanR> bratwinter is coming
2024-12-09 17:51:26 +0100 <glguy> EvanR: Well my experience is that it's safe to talk about it there, but also I'd happily talk to you about it here :)
2024-12-09 17:52:07 +0100 <EvanR> it would probably be a good way to juice up the old brain
2024-12-09 17:52:44 +0100 <EvanR> not for solving the puzzles but remembering how to run the build systems and git repos xD
2024-12-09 17:53:55 +0100 <int-e> EvanR: those are entirely optional :P
2024-12-09 17:56:12 +0100 <EvanR> how optional is the build system
2024-12-09 17:56:29 +0100 <int-e> runhaskell exists
2024-12-09 17:56:37 +0100 <int-e> (= runghc)
2024-12-09 17:57:42 +0100 <glguy> You could go pretty far with a Makefile and ghc invocations, though I wouldn't want to have to
2024-12-09 17:58:19 +0100 <geekosaur> cabal script -b … mysoln.hs
2024-12-09 17:58:47 +0100 <geekosaur> (omit the -b if you specify the deps in cabal comments)
2024-12-09 17:59:16 +0100 <int-e> it kind of depends on how serious you are taking it; if you have a support library, plain runghc becomes less attractive
2024-12-09 18:00:32 +0100 <glguy> just one support library?
2024-12-09 18:01:05 +0100 <int-e> well I imagine it would depend on a bunch of other ones
2024-12-09 18:01:07 +0100int-eshrugs
2024-12-09 18:02:48 +0100 <int-e> But base + containers + array cover a lot of territory and come preinstalled with ghc
2024-12-09 18:03:06 +0100 <tomsmeding> definitely
2024-12-09 18:03:12 +0100 <tomsmeding> you hardly need anything else for AoC
2024-12-09 18:03:14 +0100 <glguy> yeah, I mostly stick to containers and array
2024-12-09 18:03:34 +0100 <tomsmeding> I implemented a regex matcher for day 3
2024-12-09 18:03:50 +0100 <tomsmeding> in 54 lines :p
2024-12-09 18:03:53 +0100 <glguy> I used ReadS
2024-12-09 18:04:03 +0100 <tomsmeding> I realised afterwards I could have used that yes
2024-12-09 18:04:31 +0100 <int-e> And if that's all you use, `runghc` is quite viable. It's literally what I'm using (and used in previous years too when I actually bothered getting up in time to compete somewhat seriously)
2024-12-09 18:05:00 +0100 <tomsmeding> compiling with `ghc` is sometimes helpful though, the interpreter is quite slow at times :p
2024-12-09 18:05:08 +0100 <int-e> (I have made exceptions on a couple of days.)
2024-12-09 18:05:14 +0100 <int-e> tomsmeding: true
2024-12-09 18:06:31 +0100 <int-e> If `runghc` gets slow, I compile, run the compiled version in parallel, and then start thinking about better algorithms.
2024-12-09 18:07:22 +0100 <EvanR> array...
2024-12-09 18:07:33 +0100hellwolfthinks using Haskell for AoC is cheating.
2024-12-09 18:07:37 +0100 <EvanR> lol
2024-12-09 18:07:39 +0100 <int-e> (and.... sometimes I have to reboot because I didn't think about memory usage until the computer becomes too sluggish to do anything about it)
2024-12-09 18:08:17 +0100 <EvanR> I went to the bank of haskell and deposited all my RAM. Aaaaand it's gone
2024-12-09 18:09:56 +0100 <glguy> hellwolf: I think the fastest people use Python. That's the one we should outlaw :)
2024-12-09 18:10:21 +0100 <glguy> Give the slow functional programmers a chance!
2024-12-09 18:10:27 +0100 <hellwolf> why is Python faster (to come up with a solution)?
2024-12-09 18:10:52 +0100 <sprout> you need to know a lot of abstractions to start with haskell
2024-12-09 18:11:29 +0100 <sprout> a hundred manners of expressing a for loop as a fold/scan/map/..
2024-12-09 18:11:32 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-12-09 18:11:49 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-12-09 18:13:38 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-12-09 18:14:34 +0100 <sprout> well, and state and mutation... but let's not go there
2024-12-09 18:15:17 +0100homo(~homo@37-33-168-21.bb.dnainternet.fi)
2024-12-09 18:15:32 +0100 <hellwolf> bossing machine around is still an easier thing to do than convincing yourself you understand the problem for real?
2024-12-09 18:15:35 +0100homo(~homo@37-33-168-21.bb.dnainternet.fi) (Changing host)
2024-12-09 18:15:35 +0100homo(~homo@user/homo) homo
2024-12-09 18:16:11 +0100hellwolfimpersonating the typical sort of Haskell snob talk.
2024-12-09 18:17:06 +0100 <monochrom> Haskell entries come from more Haskell beginners.
2024-12-09 18:17:17 +0100 <glguy> no need to impersonate others, just be yourself
2024-12-09 18:17:25 +0100 <hellwolf> :)
2024-12-09 18:17:32 +0100 <monochrom> That in turn is because one stays as a Haskell beginner for longer.
2024-12-09 18:17:36 +0100 <sprout> yah. I think so. 'I need to loop here', then you write for and figure out the rest
2024-12-09 18:17:54 +0100 <EvanR> haskell has many words all powerful. python has a few words all overpowered
2024-12-09 18:18:34 +0100 <glguy> the aoc problems are pretty small. quick access to mutation and not getting bogged down in types makes for faster answers. To be fast you don't need a carefully structured program, generally
2024-12-09 18:18:40 +0100 <sprout> only when you've written a ton of haskell programs you kind-of get start to get what of the one hundred abstractions will solve your problem
2024-12-09 18:19:05 +0100 <glguy> I still think it's more fun to solve them in Haskell, but I except in a few cases I don't think it has been a speed advantage
2024-12-09 18:19:51 +0100korrykatti(~korrykatt@user/korrykatti) korrykatti
2024-12-09 18:21:14 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2024-12-09 18:21:48 +0100 <EvanR> you have your accelerating library right
2024-12-09 18:21:57 +0100 <EvanR> does that give you a speed advantage
2024-12-09 18:22:10 +0100 <glguy> yeah, that helps. but it's not Haskell specific
2024-12-09 18:25:46 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-09 18:28:56 +0100housemate(~housemate@2405:6e00:243a:cde6:f749:6d8f:e7af:7805) (Quit: Nothing to see here. I wasn't there. https://files.catbox.moe/4yru45.pdf)
2024-12-09 18:29:19 +0100housemate(~housemate@2405:6e00:243a:cde6:f749:6d8f:e7af:7805) housemate
2024-12-09 18:32:10 +0100hellwolfcontinues musing.
2024-12-09 18:32:10 +0100 <hellwolf> Actually, just because the shape is the same, it doesn't mean it is also a Traversable, I am making rudimentary mistake here. My "k r (f a) -> f (k r a)" needs more than applicative constraint on "f", otherwise I can't write such a function. In Haskell, everything is parametric, I have to have the equation works for all values (even constrained.) That means, they look alike, but they are far apart, and I will still
2024-12-09 18:32:10 +0100 <hellwolf> need a special function name for this.
2024-12-09 18:32:29 +0100alp(~alp@2001:861:8ca0:4940:de88:f2d6:60c9:dbbc)
2024-12-09 18:34:17 +0100KicksonButt(~quassel@187.21.174.221)
2024-12-09 18:37:00 +0100sonolin(~michael@user/sonolin) sonolin
2024-12-09 18:37:12 +0100billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Quit: Leaving)
2024-12-09 18:42:25 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-12-09 18:46:33 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-12-09 18:51:03 +0100homo(~homo@user/homo) (Quit: homo)
2024-12-09 18:52:32 +0100homo(~homo@user/homo) homo
2024-12-09 18:55:17 +0100Square(~Square@user/square) Square
2024-12-09 18:58:25 +0100Square2(~Square4@user/square) (Ping timeout: 244 seconds)
2024-12-09 18:58:50 +0100 <geekosaur> I am not sure you can write it unconstrained, though
2024-12-09 18:59:14 +0100 <geekosaur> something is needed to perform the inversion
2024-12-09 19:08:29 +0100stiell(~stiell@gateway/tor-sasl/stiell) stiell
2024-12-09 19:10:07 +0100 <hellwolf> you cannot. I meant that I needed more constraints, and that makes it impossible to write a "Traversable". My remnant of OOP instinct still find that surprising, since you can always inject something through subtyping.
2024-12-09 19:10:50 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-12-09 19:11:18 +0100pavonia(~user@user/siracusa) siracusa
2024-12-09 19:11:51 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
2024-12-09 19:13:46 +0100Lord_of_Life_Lord_of_Life
2024-12-09 19:13:48 +0100 <geekosaur> also you said k is a category? maybe your categoryt has something equivalent to Applicative?
2024-12-09 19:14:14 +0100 <glguy> int-e: I got today down to < 40ms https://github.com/glguy/advent/blob/main/solutions/src/2024/09.hs - I think I can be done with it now
2024-12-09 19:14:16 +0100 <geekosaur> ("strong lax monoidal functor" iirc)
2024-12-09 19:15:49 +0100OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2024-12-09 19:15:58 +0100glguywonders if anyone uses TransformListComp other when I do AoC
2024-12-09 19:15:59 +0100 <geekosaur> which would still mean you migth not be able to use the Haskell abstractions since they're defined in terms of Hask instead of an arbitrary category k, but you might be able to write the equivalent yourself if your categories support it
2024-12-09 19:19:21 +0100homo(~homo@user/homo) (Quit: homo)
2024-12-09 19:19:21 +0100 <int-e> glguy: hmm a bit slower (and definitely less readable): https://paste.tomsmeding.com/Ep9bYKNH ...I focussed more on reusing the part 2 code for part 1.
2024-12-09 19:20:07 +0100 <int-e> (though that makes part 1 a bit slower than it could be)
2024-12-09 19:20:31 +0100homo(~homo@user/homo) homo
2024-12-09 19:21:23 +0100 <glguy> ooh, I found 10ms getting rid of the file map
2024-12-09 19:21:24 +0100 <glguy> Time (mean ± σ): 28.9 ms ± 1.0 ms [User: 21.3 ms, System: 3.1 ms]
2024-12-09 19:22:40 +0100 <glguy> This is the second time I've seen you pull out dropWhiteAntitone
2024-12-09 19:22:54 +0100 <glguy> I need to burn that into my brain so I have it in mind
2024-12-09 19:22:55 +0100youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-12-09 19:23:21 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-12-09 19:24:21 +0100 <int-e> I only know one trick ;-)
2024-12-09 19:24:32 +0100 <int-e> Gotta make the best use of it.
2024-12-09 19:24:52 +0100 <int-e> Related trick: A*-search with minView to get the next node to expand.
2024-12-09 19:25:06 +0100 <int-e> (that's less relevant for you because I believe you have a support function for that)
2024-12-09 19:25:38 +0100 <glguy> My A* uses IntMap.minViewWithKey
2024-12-09 19:25:52 +0100 <glguy> buried in myimplementation of a priority queue
2024-12-09 19:26:07 +0100 <int-e> Ah I have s/IntMap/Set/
2024-12-09 19:26:29 +0100 <int-e> storing (value,node) pairs
2024-12-09 19:30:37 +0100 <int-e> Btw, there was a weird dual approach to this problem where you start filling the gaps from the front with earliest file from the end that fits. But it's not a simplification, it's about the same amount and kind of code.
2024-12-09 19:31:10 +0100 <int-e> (mostly it changes how you track file ids)
2024-12-09 19:31:40 +0100 <glguy> Oh, I guess that would be slightly simpler because you never have to "put back" a partial file
2024-12-09 19:32:16 +0100 <glguy> while in my case I have to insert the unused freespace back into the map
2024-12-09 19:33:00 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2024-12-09 19:33:15 +0100 <int-e> yeah it was very attractive for part 1
2024-12-09 19:33:16 +0100korrykatti(~korrykatt@user/korrykatti) (Remote host closed the connection)
2024-12-09 19:33:58 +0100korrykatti(~korrykatt@user/korrykatti) korrykatti
2024-12-09 19:34:05 +0100 <int-e> hrm
2024-12-09 19:35:06 +0100 <int-e> That's not what I meant to express. It was inspired by part 1 where you literally fill gaps with files starting from the end.
2024-12-09 19:35:36 +0100 <int-e> Anyway, mostly I was disappointed that it didn't simplify anything.
2024-12-09 19:36:24 +0100 <int-e> (for me)
2024-12-09 19:37:51 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2024-12-09 19:40:54 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-09 19:43:56 +0100 <hellwolf> class PatternMatchable f where match :: k r (f a) -> (f (k r a) -> k r b) -> k r (f b)
2024-12-09 19:43:56 +0100 <hellwolf> with LambdaCase and BlockArguments, I should have: "match p \case -> Pat1 -> result1; Pat2 -> result2; _ -> defaultResult;"
2024-12-09 19:43:56 +0100 <hellwolf> Does this look like anything?
2024-12-09 19:46:30 +0100rstromlund(~user@user/rstromlund) rstromlund
2024-12-09 19:48:37 +0100weary-traveler(~user@user/user363627) user363627
2024-12-09 19:50:16 +0100 <monochrom> Maybe comonad, but I forgot what its cobind really looks like.
2024-12-09 19:50:27 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-09 19:50:32 +0100korrykatti(~korrykatt@user/korrykatti) (Remote host closed the connection)
2024-12-09 19:53:50 +0100 <haskellbridge> <hellwolf> wow, comonad extend function
2024-12-09 19:53:58 +0100 <haskellbridge> <hellwolf> extend :: (w a -> b) -> w a -> w b
2024-12-09 19:54:08 +0100 <monochrom> :)
2024-12-09 19:55:15 +0100 <haskellbridge> <hellwolf> But I don't think I can implement extract and duplicate. Let me think a bit
2024-12-09 19:55:32 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-12-09 19:56:32 +0100 <monochrom> People have considered monads minus pure and comonads minus extract. I forgot what they're called.
2024-12-09 19:56:37 +0100 <haskellbridge> <hellwolf> my uneducated guess, CoApplicative?
2024-12-09 19:58:49 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-09 19:59:20 +0100 <haskellbridge> <hellwolf> (<*>) :: f (a -> b) -> f a -> f b
2024-12-09 19:59:32 +0100 <haskellbridge> <hellwolf> vs.
2024-12-09 19:59:32 +0100 <haskellbridge> extend :: (w a -> b) -> w a -> w b
2024-12-09 20:04:13 +0100 <haskellbridge> <hellwolf> nah, I squinted too hard, not the same
2024-12-09 20:11:39 +0100j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-12-09 20:16:08 +0100j1n37(~j1n37@user/j1n37) j1n37
2024-12-09 20:25:13 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) (Remote host closed the connection)
2024-12-09 20:25:54 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733)
2024-12-09 20:25:58 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) myxokephale
2024-12-09 20:28:57 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) ft
2024-12-09 20:29:18 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733) (Read error: Connection reset by peer)
2024-12-09 20:33:09 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 246 seconds)
2024-12-09 20:39:29 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733)
2024-12-09 20:47:14 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733) (Read error: Connection reset by peer)
2024-12-09 20:49:13 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 20:52:02 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-09 20:53:11 +0100droideqa(uid499291@user/droideqa) droideqa
2024-12-09 20:53:21 +0100 <haskellbridge> <Bowuigi> On practice they are called Bind and Duplicate IIRC, but I think they are just other algebraic structures over endofunctors of a categroy
2024-12-09 20:53:31 +0100 <haskellbridge> <Bowuigi> Category* lol
2024-12-09 20:53:53 +0100 <haskellbridge> <Bowuigi> Haven't seen them with other names
2024-12-09 20:55:04 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733)
2024-12-09 20:55:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-09 20:57:34 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-09 20:58:32 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733) (Read error: Connection reset by peer)
2024-12-09 21:00:03 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-12-09 21:00:38 +0100caconym(~caconym@user/caconym) caconym
2024-12-09 21:07:09 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-09 21:07:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 21:10:25 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2024-12-09 21:11:28 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733)
2024-12-09 21:11:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-09 21:13:08 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733) (Read error: Connection reset by peer)
2024-12-09 21:18:17 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733)
2024-12-09 21:18:49 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-09 21:19:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 21:20:00 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-12-09 21:21:42 +0100 <iqubic> Is foldl bad to use?
2024-12-09 21:21:59 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3430:95f4:5805:1733) (Read error: Connection reset by peer)
2024-12-09 21:22:19 +0100 <Rembane> iqubic: It builds up a lot of thunks. foldl' is better.
2024-12-09 21:22:42 +0100 <iqubic> What do dropWhileAntitone and takeWhileAntitone do from Data.Map?
2024-12-09 21:24:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 21:24:08 +0100 <int-e> they do dropWhile on keys, but you promise that the predicate is antitonic, i.e. k1 <= k2 --> p k1 >= p k2. So basically, true until some cut-off point, then false.
2024-12-09 21:25:37 +0100 <iqubic> I see. Interesting.
2024-12-09 21:25:40 +0100 <int-e> (or takeWhile; there's also a span version)
2024-12-09 21:26:09 +0100 <int-e> the point is that this can be done in logarithmic time
2024-12-09 21:26:33 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-09 21:27:17 +0100JeremyB99(~JeremyB99@2607:ac80:406:4:c8a3:6284:cd9c:cd56)
2024-12-09 21:27:18 +0100 <int-e> (on a flat array you could do a binary search)
2024-12-09 21:28:04 +0100 <iqubic> What's the span version?
2024-12-09 21:28:10 +0100 <iqubic> :t span
2024-12-09 21:28:11 +0100 <lambdabot> (a -> Bool) -> [a] -> ([a], [a])
2024-12-09 21:28:14 +0100 <int-e> :t M.spanAntitone
2024-12-09 21:28:15 +0100 <lambdabot> (k -> Bool) -> M.Map k a -> (M.Map k a, M.Map k a)
2024-12-09 21:28:20 +0100 <int-e> :t S.spanAntitone
2024-12-09 21:28:21 +0100 <lambdabot> (a -> Bool) -> S.Set a -> (S.Set a, S.Set a)
2024-12-09 21:28:36 +0100JeremyB99(~JeremyB99@2607:ac80:406:4:c8a3:6284:cd9c:cd56) (Read error: Connection reset by peer)
2024-12-09 21:28:46 +0100 <iqubic> Oh. I see... span is doing takeWhile and dropWhile at the same time.
2024-12-09 21:28:50 +0100 <int-e> @src span
2024-12-09 21:28:50 +0100 <lambdabot> span _ xs@[] = (xs, xs)
2024-12-09 21:28:50 +0100 <lambdabot> span p xs@(x:xs') | p x = let (ys,zs) = span p xs' in (x:ys,zs)
2024-12-09 21:28:50 +0100 <lambdabot> | otherwise = ([],xs)
2024-12-09 21:29:05 +0100 <iqubic> :t break
2024-12-09 21:29:06 +0100 <lambdabot> (a -> Bool) -> [a] -> ([a], [a])
2024-12-09 21:29:12 +0100 <int-e> (I was wondering whether that would say span f xs = (takeWhile f xs, dropWhile f xs)
2024-12-09 21:29:14 +0100 <tomsmeding> break == span . not
2024-12-09 21:29:25 +0100 <iqubic> Ah... I see.
2024-12-09 21:30:15 +0100 <int-e> takeWhile : dropWhile : span :: take : drop : splitAt
2024-12-09 21:30:53 +0100 <tomsmeding> (and still no splitOn)
2024-12-09 21:31:37 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-12-09 21:31:48 +0100 <int-e> the split design space is too fragmented for base ;-)
2024-12-09 21:33:16 +0100 <EvanR> foldl on a list is likely to not be what you want but there are funny counterexamples
2024-12-09 21:33:33 +0100 <EvanR> foldl on other structures might be what you want for that structure
2024-12-09 21:33:56 +0100 <int-e> There's still no sortOn in base either. And even that seems fair because there are two reasonable versions, one for cheap functions (in terms of sortBy) and one for expensive functions (that would make an auxiliary list pairing keys and values, sort that, and then extract the values again)
2024-12-09 21:35:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 21:36:04 +0100 <tomsmeding> % :t Data.List.sortOn -- int-e
2024-12-09 21:36:04 +0100 <yahb2> Data.List.sortOn -- int-e :: Ord b => (a -> b) -> [a] -> [a]
2024-12-09 21:36:34 +0100 <tomsmeding> int-e: has been there since ghc 7.10 :)
2024-12-09 21:37:04 +0100 <Athas> tomsmeding: apart from your Accelerate implementations (Which don't work with upstream Accelerate, as I understand it), are you aware of other Haskell implementations of ADBench?
2024-12-09 21:37:05 +0100 <tomsmeding> this is the one for expensive functions; the one for cheap functions is `sortBy . comparing`
2024-12-09 21:37:14 +0100 <Athas> There's lots of Haskell AD libraries. Not sure how widely they are used.
2024-12-09 21:37:30 +0100 <int-e> tomsmeding: wow. how did I mess up my check for that earlier...
2024-12-09 21:37:38 +0100 <tomsmeding> Athas: right, my implementations run on my hacked up fork of Accelerate
2024-12-09 21:37:47 +0100 <int-e> probably didn't import Data.List somehow
2024-12-09 21:37:55 +0100housemate(~housemate@2405:6e00:243a:cde6:f749:6d8f:e7af:7805) (Quit: Nothing to see here. I wasn't there. I take IRC seriously.)
2024-12-09 21:38:02 +0100 <geekosaur> I'm surprised you didn't know about it
2024-12-09 21:38:15 +0100 <tomsmeding> Athas: I don't think I ever looked for any such; I could now start looking for them, but I don't think I'm a better searcher than you are :)
2024-12-09 21:38:38 +0100 <int-e> geekosaur: I /thought/ it was there and then I checked and didn't see. I'm not actively using Haskell as much as I'd like.
2024-12-09 21:38:43 +0100 <tomsmeding> Athas: Kmett's `ad` will perform miserably; I'm not sure about others
2024-12-09 21:38:45 +0100 <Athas> tomsmeding: I suppose not. Thanks anyway.
2024-12-09 21:39:20 +0100 <int-e> And evidently my memory isn't great.
2024-12-09 21:39:23 +0100 <Athas> 'ad' is actively maintained and very elaborate. Surely it has some merits?
2024-12-09 21:39:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 21:39:54 +0100 <tomsmeding> Athas: sure, but it considers arrays just Traversables of scalars
2024-12-09 21:40:04 +0100 <tomsmeding> that ain't gonna be very fast if you have big arrays
2024-12-09 21:40:19 +0100weary-traveler(~user@user/user363627) user363627
2024-12-09 21:40:26 +0100 <tomsmeding> (it'll build a tape of all the individual scalar operations, with >=1 heap node per operation)
2024-12-09 21:40:36 +0100 <tomsmeding> given this fundamental design, it's very fast
2024-12-09 21:40:47 +0100 <Athas> Ah, I see. So no dense packing of values.
2024-12-09 21:40:52 +0100 <tomsmeding> but this design puts a fairly low ceiling on performance for big stuff
2024-12-09 21:41:06 +0100 <Athas> So probably not worth using for ADBench ports.
2024-12-09 21:41:16 +0100 <tomsmeding> I don't think so, though it may be amusing
2024-12-09 21:42:04 +0100 <tomsmeding> Athas: I compared `ad` at some point with a TH-based code transformation that did a similar thing to what `ad` does at runtime, but statically
2024-12-09 21:42:06 +0100housemate(~housemate@2405:6e00:243a:cde6:5cd1:b412:d37:ece9) housemate
2024-12-09 21:42:17 +0100 <tomsmeding> surely you'd think that the static code transformation will result in faster code?
2024-12-09 21:42:29 +0100 <Athas> Depends on what you mean by "similar thing".
2024-12-09 21:42:43 +0100 <tomsmeding> also dual numbers, also producing a tape in memory
2024-12-09 21:42:48 +0100 <tomsmeding> it's really quite similar
2024-12-09 21:42:57 +0100 <tomsmeding> but it was only about 2x as fast
2024-12-09 21:43:12 +0100 <tomsmeding> sure, faster than `ad`, but `ad` does lots more stuff dynamically
2024-12-09 21:43:23 +0100 <tomsmeding> `ad` is _fast_ for the algorithm that it implements
2024-12-09 21:43:58 +0100 <int-e> geekosaur: tbh it's possible that I was looking for minimumOn and overgeneralized
2024-12-09 21:44:34 +0100housemate(~housemate@2405:6e00:243a:cde6:5cd1:b412:d37:ece9) (Max SendQ exceeded)
2024-12-09 21:44:40 +0100 <tomsmeding> Athas: ( https://dl.acm.org/doi/pdf/10.1145/3571247 , Section 10, Table 1)
2024-12-09 21:44:48 +0100 <tomsmeding> oh hah, that's the old one
2024-12-09 21:44:56 +0100JeremyB99(~JeremyB99@2607:ac80:406:4:c8a3:6284:cd9c:cd56)
2024-12-09 21:45:07 +0100 <tomsmeding> optimisation got me to https://arxiv.org/pdf/2207.03418 Table 1 (p.49)
2024-12-09 21:46:24 +0100housemate(~housemate@2405:6e00:243a:cde6:5cd1:b412:d37:ece9) housemate
2024-12-09 21:47:28 +0100 <Athas> I wonder to which extent GHC's impressive specialisation/inlining capabilities allow it to optimise the 'ad' code.
2024-12-09 21:48:25 +0100 <tomsmeding> Athas: you do have a point there. I don't know :)
2024-12-09 21:49:09 +0100JeremyB99(~JeremyB99@2607:ac80:406:4:c8a3:6284:cd9c:cd56) (Ping timeout: 245 seconds)
2024-12-09 21:49:53 +0100poscat(~poscat@user/poscat) (Ping timeout: 248 seconds)
2024-12-09 21:50:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 21:51:00 +0100poscat(~poscat@user/poscat) poscat
2024-12-09 21:55:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-09 21:56:25 +0100 <monochrom> Great idea: ($!) can be renamed to bangOn. >:)
2024-12-09 21:57:12 +0100 <tomsmeding> monochrom: by that logic, ($) would become 'on', which is already taken :p
2024-12-09 21:57:42 +0100 <monochrom> It can be lazyOn.
2024-12-09 21:58:01 +0100 <haskellbridge> <sm> lazyBang
2024-12-09 21:58:05 +0100 <tomsmeding> (that could be song lyrics)
2024-12-09 21:58:38 +0100KicksonButt(~quassel@187.21.174.221) (Ping timeout: 272 seconds)
2024-12-09 22:01:08 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3)
2024-12-09 22:03:07 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3) (Read error: Connection reset by peer)
2024-12-09 22:03:30 +0100 <sprotte24> Hi
2024-12-09 22:04:25 +0100 <sprotte24> I have a problem with haskell getChar. It waits until I press enter key
2024-12-09 22:04:56 +0100Square(~Square@user/square) (Ping timeout: 244 seconds)
2024-12-09 22:05:05 +0100 <monochrom> That would also be true of C getc().
2024-12-09 22:05:05 +0100 <tomsmeding> sprotte24: this is buffering by your shell; try hSetBuffering stdin NoBuffering
2024-12-09 22:06:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 22:06:27 +0100 <sprotte24> I use vscode with terminal and ghci>
2024-12-09 22:07:08 +0100 <tomsmeding> sprotte24: this is not haskell-specific, this happens in any language
2024-12-09 22:07:16 +0100 <sprotte24> wher can I put the hSetBuffering ... line?
2024-12-09 22:07:20 +0100 <haskellbridge> <Pyu> sprotte24: That's what getChar does, it gets a character from stdin. Enter counts as a character
2024-12-09 22:07:49 +0100 <haskellbridge> <Pyu> https://kf8nh.com/_heisenbridge/media/matrix.org/gIzyVdsjDYHWeSAmkSgfNdAb/ridYFsUrMxY/image.png
2024-12-09 22:08:16 +0100 <tomsmeding> whether ghci puts stdin in NoBuffering mode might be platform-dependent
2024-12-09 22:08:31 +0100 <tomsmeding> sprotte24: if you want predictable buffering behaviour for stdin, don't use ghci
2024-12-09 22:08:47 +0100 <sprotte24> I read the problem might be in M$ windows
2024-12-09 22:09:32 +0100 <tomsmeding> sprotte24: if you type some letters (without pressing enter), and then press backspace, do the letters disappear again?
2024-12-09 22:09:36 +0100 <tomsmeding> (under `getChar`)
2024-12-09 22:09:54 +0100 <sprotte24> I will try that
2024-12-09 22:10:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-09 22:13:28 +0100 <tomsmeding> sprotte24: if so: Haskell has no logic to handle backspace on input. It's your terminal (in this case vscode, but it could be any terminal) that does that: it allows you to compose some input, using backspace if you want, and once you press enter, the text is actually sent to the application
2024-12-09 22:13:32 +0100 <tomsmeding> this is called "buffering"
2024-12-09 22:14:02 +0100 <geekosaur> well, not exactly. ghci does _line editing_.
2024-12-09 22:14:07 +0100 <tomsmeding> as the application, you can tell the terminal to not do this and send keys through immediately; you do this for the input stream (stdin) by running `hSetBuffering stdin NoBuffering`
2024-12-09 22:14:12 +0100 <tomsmeding> geekosaur: we're talking about `getChar` here
2024-12-09 22:14:20 +0100 <geekosaur> buffering is actually soemthing different which Haskell somewhat stupidly conflates with it
2024-12-09 22:14:29 +0100 <tomsmeding> sure, ghci does far more than this, but ghci is also not your terminal, and `getChar` does not go through ghci's line editing machinery
2024-12-09 22:14:37 +0100 <geekosaur> getChar has no idea that the thing sending the characters is doing line editing
2024-12-09 22:14:58 +0100 <sprotte24> when I type a char on keyboard, it is shown, and with backspace ist goes to left and disappers
2024-12-09 22:15:19 +0100 <geekosaur> getChar is done by your program, ghci puts the terminal in rtaw mode and then processes input using haskeline
2024-12-09 22:15:33 +0100 <tomsmeding> geekosaur: that must be a windows-only feature then
2024-12-09 22:15:49 +0100 <tomsmeding> on my linux box, getChar gets characters immediately (i.e. what sprotte24 wants but doesn't get)
2024-12-09 22:15:53 +0100 <tomsmeding> when in ghci
2024-12-09 22:16:17 +0100 <tomsmeding> (outside of ghci, getChar is subject to normal terminal buffering, and whatever line editing features your terminal provides -- typically little more than backspace)
2024-12-09 22:16:50 +0100 <tomsmeding> sprotte24: I'm not sure if you'll be able to get what you want in ghci, but ouside ghci, the hSetBuffering call should change settings so that getChar returns immediately after a single keypress
2024-12-09 22:17:04 +0100 <geekosaur> it should also be noted that windows doesn't really support line vs. raw mode, and the lower level function getChar uses emulates it. iirc you must use a Win32 module function to avoid that
2024-12-09 22:17:36 +0100 <tomsmeding> oh the dumb line editing in a standalone haskell program when you do `getChar` is implemented by the RTS?
2024-12-09 22:17:41 +0100 <tomsmeding> (on windows)
2024-12-09 22:19:16 +0100 <geekosaur> the _Windows_ RTS, not Haskell's
2024-12-09 22:19:37 +0100 <tomsmeding> oh interesting
2024-12-09 22:19:40 +0100housemate(~housemate@2405:6e00:243a:cde6:5cd1:b412:d37:ece9) (Quit: Nothing to see here. I wasn't there. I take IRC seriously.)
2024-12-09 22:19:42 +0100 <geekosaur> a library that simulates POSIX command line parameter handling, terminal handling, etc.
2024-12-09 22:19:48 +0100 <tomsmeding> right
2024-12-09 22:20:24 +0100 <tomsmeding> okay, so my claims about what software is responsible for this weren't quite correct
2024-12-09 22:20:27 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-12-09 22:20:33 +0100 <tomsmeding> but the cure is still accurate, I think
2024-12-09 22:21:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 22:22:22 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3)
2024-12-09 22:25:10 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-09 22:26:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-09 22:28:22 +0100 <sprotte24> just compile with ghci> ghc filename.hs does not work, I thought I could compile ith code and run ist without ghci?
2024-12-09 22:29:23 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds)
2024-12-09 22:29:42 +0100ash3en(~Thunderbi@146.70.124.222) ash3en
2024-12-09 22:29:47 +0100 <tomsmeding> sprotte24: you should call `ghc` outside ghci
2024-12-09 22:32:34 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-12-09 22:35:50 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 22:35:50 +0100MyNetAz(~MyNetAz@user/MyNetAz) (Read error: Connection reset by peer)
2024-12-09 22:36:37 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Max SendQ exceeded)
2024-12-09 22:36:48 +0100briandaed(~root@user/briandaed) (Remote host closed the connection)
2024-12-09 22:37:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 22:37:31 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 22:37:49 +0100motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2024-12-09 22:38:24 +0100 <monochrom> This is why at some point I tell students "it's telephone games all the way down".
2024-12-09 22:40:21 +0100 <EvanR> the chinese room thought experiment, but you take liberties with the translation rules
2024-12-09 22:41:01 +0100 <monochrom> With some many middle-persons --- ghci, vscode, terminal emulator, the OS --- you can be certain that each of them tries to do something funny behind your back, and you can't be certain what cause(s) waiting for <enter> and which one to talk to to disable it.
2024-12-09 22:41:38 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-09 22:42:51 +0100MyNetAz(~MyNetAz@user/MyNetAz) MyNetAz
2024-12-09 22:44:22 +0100michalz(~michalz@185.246.207.201) (Ping timeout: 265 seconds)
2024-12-09 22:44:23 +0100ash3en1(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-12-09 22:44:41 +0100KicksonButt(~quassel@187.21.174.221)
2024-12-09 22:45:45 +0100 <monochrom> A favourite exam question (for a unix course) is to write a Bourne shell echo command to output, say, 2 backslashes. (The gist being that the shell itself is one layer of escaping and its echo command adds one more layer of escaping.)
2024-12-09 22:46:05 +0100ash3en(~Thunderbi@146.70.124.222) (Ping timeout: 260 seconds)
2024-12-09 22:46:05 +0100ash3en1ash3en
2024-12-09 22:46:42 +0100 <sprotte24> tomsmeding, I was able to compile from VSC Terminal,it works. But the buffering problem persists. It is a hoework game hangman, I have to enter single matching characters, bute it answers only by using return key. And I can enter some more characters without reaction, but when I type return key the code the program writes all outstanding steps
2024-12-09 22:47:06 +0100 <tomsmeding> also with the hSetBuffering call at the start of your program?
2024-12-09 22:47:07 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit)
2024-12-09 22:47:40 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3) (Read error: Connection reset by peer)
2024-12-09 22:48:01 +0100 <int-e> monochrom: do you ask for the first 20 characters of `print (fix show)` for functional programming? :)
2024-12-09 22:48:08 +0100 <geekosaur> didnt we already determine he was tasked with writing a function to be run in ghci?
2024-12-09 22:48:17 +0100 <geekosaur> so there's no main?
2024-12-09 22:48:53 +0100 <geekosaur> (scan back for yesterday's discussion of how getArgs or equivalent isn't part of the assignment)
2024-12-09 22:48:57 +0100 <int-e> > last $ take 20 $ fix show
2024-12-09 22:48:58 +0100 <lambdabot> '\\'
2024-12-09 22:49:25 +0100 <monochrom> Yes. But then ghci inside different contexts still behave differently. I just tried ghci inside emacs haskell-mode, it still waits for <enter>.
2024-12-09 22:50:48 +0100 <monochrom> At this point we have insufficient information about the testing environment. (Does the instructor even care about VSCode?)
2024-12-09 22:50:56 +0100 <monochrom> (I know I wouldn't.)
2024-12-09 22:52:28 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 22:53:13 +0100 <monochrom> int-e: I don't teach print (or the Show instance of String), so I don't put that on the exam.
2024-12-09 22:54:20 +0100 <monochrom> But I can provide, on the fly, a function f doing the same thing as show for String, then ask about x = f x.
2024-12-09 22:54:53 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Quit: cyanteeth)
2024-12-09 22:55:27 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-09 22:55:41 +0100 <EvanR> f sounds non trivial to describe
2024-12-09 22:55:53 +0100 <monochrom> I already teach the construction method of x0 = bottom, x1 = f x0, x2 = f x1, etc
2024-12-09 22:56:16 +0100 <tomsmeding> EvanR: f ('"':s) = '\\' : '"' : f s; f ('\\':s) = '\\' : '\\' : s; f (c:s) = c : f s
2024-12-09 22:56:21 +0100 <tomsmeding> plenty for this :p
2024-12-09 22:56:23 +0100 <sprotte24> I get very little help. We have to transfer the haskell code to out university. The code ist tested automatically. The answer was: It compiles, but while testing, Ig get runtime errors. The behaviour of the online test may be other (unix?) than my own (windows). Haskell executes a bunch of different tests.
2024-12-09 22:57:04 +0100 <monochrom> Yes it's very much simpler if you use Linux.
2024-12-09 22:57:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-09 22:58:45 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3)
2024-12-09 22:59:24 +0100 <sprotte24> next week we will end with haskell, continue with prolog :-)
2024-12-09 23:01:30 +0100 <sprotte24> our main topic is declarative programming
2024-12-09 23:01:51 +0100 <monochrom> With automated testing, I wouldn't worry about getChar "waiting for <enter>", probabilistically speaking.
2024-12-09 23:02:54 +0100rstromlund(~user@user/rstromlund) (Ping timeout: 252 seconds)
2024-12-09 23:04:01 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 248 seconds)
2024-12-09 23:04:25 +0100 <monochrom> The "waiting" is caused by running things in a terminal context, not by getChar itself (it has no control over this). An automated testing environment that tries to reproduce/emulate a terminal context is way too much work, no one is likely to actually do that kind of testing. I know because I tried and gave up.
2024-12-09 23:06:11 +0100 <monochrom> Instead the automated testing environment is much more likely to just use Unix pipelining or file redirection, which takes zero effort to set up (they are how Unix works by default), in which no "waiting" will happen.
2024-12-09 23:06:20 +0100 <tomsmeding> (why does one specify an auto-graded assignment with getChar? Just have the assignment say "use getLine and take the first character" or something)
2024-12-09 23:06:42 +0100 <tomsmeding> (then this whole problem doesn't even come up)
2024-12-09 23:07:28 +0100 <sprotte24> So I get 0 of 4 points for this task, unfair. The code runs using enter key but this is not allowed
2024-12-09 23:07:53 +0100 <tomsmeding> sprotte24: have you tried submitting code that uses getChar, and whenever you receive '\n', just ignore it and getChar again?
2024-12-09 23:08:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 23:08:08 +0100 <tomsmeding> not saying this will work, but under monochrom's assumption, it may be what the testing framework expects
2024-12-09 23:08:10 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3) (Read error: Connection reset by peer)
2024-12-09 23:10:26 +0100 <monochrom> Oh I have zero sympathy for "my code works but it doesn't pass your tests".
2024-12-09 23:10:51 +0100 <int-e> no sympathy for either side?
2024-12-09 23:10:59 +0100 <monochrom> No sympathy for the complainer.
2024-12-09 23:11:13 +0100 <tomsmeding> I'd first want to see the assignment description before passing that jugement
2024-12-09 23:11:15 +0100 <tomsmeding> *judgement
2024-12-09 23:11:28 +0100 <monochrom> OTOH I agree that the failure case demands more information than "failed".
2024-12-09 23:11:28 +0100 <int-e> I wanted to say "specification" but yes. That.
2024-12-09 23:11:58 +0100 <tomsmeding> especially if no test suite is provided with the assignment to the students
2024-12-09 23:12:23 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) (Quit: Nothing to see here. I wasn't there. I take IRC seriously.)
2024-12-09 23:12:32 +0100 <int-e> Involving interactive IO in assignments sounds risky.
2024-12-09 23:12:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-09 23:12:42 +0100housemate(~housemate@ppp203-122-213-191.static.internode.on.net) housemate
2024-12-09 23:12:43 +0100MyNetAz(~MyNetAz@user/MyNetAz) (Remote host closed the connection)
2024-12-09 23:12:54 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-12-09 23:12:55 +0100 <EvanR> tomsmeding, judgment!
2024-12-09 23:13:01 +0100 <geekosaur> what do you do if the "test suite" is "upload your work to our server, which will test it and give you pass/fail"
2024-12-09 23:13:02 +0100 <tomsmeding> and non-line-based interactive IO is even worse
2024-12-09 23:13:29 +0100 <tomsmeding> EvanR: I always get that wrong, I find that spelling very unintuitive
2024-12-09 23:13:35 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3)
2024-12-09 23:13:49 +0100 <EvanR> the silent and now invisible e
2024-12-09 23:14:01 +0100 <tomsmeding> geekosaur: that's not a test suite, that's an online autograder. A local test suite is a white box that you can look into, to understand whatever the assignment specification left underspecified
2024-12-09 23:14:04 +0100 <monochrom> Yeah I had to hardcode a special case in my head for "judgment".
2024-12-09 23:14:13 +0100 <monochrom> English die die die.
2024-12-09 23:14:28 +0100 <geekosaur> yes, my point is that a lot of palces seem to be doing the black box thing
2024-12-09 23:14:39 +0100 <tomsmeding> we don't :p
2024-12-09 23:14:39 +0100 <int-e> EvanR: https://www.grammarly.com/blog/commonly-confused-words/judgement-judgment/ -- not so clear
2024-12-09 23:14:57 +0100 <monochrom> But I think judgement is widely accepted too.
2024-12-09 23:14:57 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3) (Read error: Connection reset by peer)
2024-12-09 23:15:44 +0100 <tomsmeding> Wiktionary calls it "archaic"
2024-12-09 23:16:08 +0100 <int-e> "that's, like, from the last century"
2024-12-09 23:16:14 +0100 <tomsmeding> and dictionary.com doesn't even have it
2024-12-09 23:16:28 +0100 <geekosaur> fwiw whatever local dictionary is being used to spellcheck what I type into IRC/matrix/emacs thinks both are fine
2024-12-09 23:16:29 +0100 <tomsmeding> I don't have access to better dictionaries here
2024-12-09 23:16:30 +0100 <EvanR> I read the article thanks
2024-12-09 23:16:41 +0100 <EvanR> it says that an unsurprising number of people misspell this word! xD
2024-12-09 23:17:41 +0100 <monochrom> But a logical conclusion of "this language is not dead, it's evolving" is that if enough people "misspell" it then it is ratified.
2024-12-09 23:17:53 +0100 <EvanR> screw it roll back and just go with jugement
2024-12-09 23:18:02 +0100 <monochrom> haha
2024-12-09 23:18:47 +0100 <geekosaur> jujmnt
2024-12-09 23:18:54 +0100 <EvanR> ^
2024-12-09 23:19:18 +0100 <int-e> . o O ( verdict )
2024-12-09 23:19:43 +0100MyNetAz(~MyNetAz@user/MyNetAz) MyNetAz
2024-12-09 23:20:30 +0100 <monochrom> Isn't there some kind of instructor office hours when you can bring your code to the instructor and ask in what way it fails the test?
2024-12-09 23:20:44 +0100 <tomsmeding> sprotte24: ^
2024-12-09 23:21:22 +0100 <monochrom> When it's my turn to teach, I am actually infuriated when students ask total strangers instead of me.
2024-12-09 23:21:57 +0100mange(~user@user/mange) mange
2024-12-09 23:23:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 23:24:09 +0100 <monochrom> Sometimes, when I can help it, I actually design assignments to punish students who ask total strangers. Remember that time when I created an assignment for the probability monad but called it "MonadRandom" so that if students googled it they would get it all wrong? >:)
2024-12-09 23:24:46 +0100rstromlund(~user@user/rstromlund) rstromlund
2024-12-09 23:25:00 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3)
2024-12-09 23:25:04 +0100 <glguy> Are you seeing new kinds of garbage submitted now that ChatGPT can help to write incorrect code?
2024-12-09 23:25:11 +0100tomsmedingremembers that
2024-12-09 23:25:53 +0100 <glguy> I've been asking it how to improve my AoC solutions and it's been offering bugs I could add to them
2024-12-09 23:26:19 +0100 <glguy> it sometimes comes up with nice ideas for my comments, though
2024-12-09 23:26:35 +0100 <monochrom> And during summer, a colleague teaching a math course defined an "algebraic structure", the axioms of which are exactly the ring axioms. I asked him, he confirmed that he did it to confuse students who use chatGPT.
2024-12-09 23:26:50 +0100 <int-e> -- here be dragons
2024-12-09 23:27:35 +0100 <glguy> It thought I could make my p1 solution today a little more concise by not handling the moving of things from the end back into free spaces
2024-12-09 23:27:50 +0100 <glguy> told me that that was an "optimization"
2024-12-09 23:29:32 +0100 <EvanR> ChatGPT is so smart that it realizes you're trying to solve AoC questions, and intentionally gives you wrong answers so you can't cheat!
2024-12-09 23:29:54 +0100 <int-e> glguy: well, did it make the code faster ;)
2024-12-09 23:30:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-09 23:30:31 +0100 <glguy> actually, probably not. That case decremented both the left *and* right cursor (the code runs until the cursors meet up)
2024-12-09 23:30:48 +0100 <int-e> hah
2024-12-09 23:30:49 +0100 <glguy> so the loop would probably have run for more iterations that way than without the help
2024-12-09 23:31:02 +0100 <monochrom> haha so much carbon footprint spent on increasing more carbon footprint
2024-12-09 23:31:07 +0100 <int-e> was there a chance to run off the left end?
2024-12-09 23:31:30 +0100 <glguy> the stop condition was if the left cursor exceeded the right cursor
2024-12-09 23:31:43 +0100 <int-e> Maybe it's not worthwhile to analyze bugs that were introduced with zero thought behind them.
2024-12-09 23:31:44 +0100 <glguy> and the left cursor always advances by one, so probably not
2024-12-09 23:31:45 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3) (Read error: Connection reset by peer)
2024-12-09 23:32:14 +0100 <int-e> (This is the main reason I'm staying away from LLMs... they're bound to be wrong on anything interesting and there's nothing to learn from their mistakes.)
2024-12-09 23:33:18 +0100 <glguy> As someone working around "computer security" I'm looking forward to all the new buggy software we're going to get from letting LLMs help generate it
2024-12-09 23:33:24 +0100 <int-e> I /suppose/ they can be useful for finding adjacent keywords for a problem. But surely there are cheaper ways to accomplish that.
2024-12-09 23:34:14 +0100 <haskellbridge> <Bowuigi> Any papers on Normalization by Evaluation with constraints? I'd like to know how to represent builtins that have constraints in them
2024-12-09 23:35:12 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-09 23:36:50 +0100 <haskellbridge> <Bowuigi> Erasing (evidence translating constraints) the whole program in order to run it seems wasteful for an interpreter
2024-12-09 23:39:45 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Quit: cyanteeth)
2024-12-09 23:40:17 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-09 23:41:31 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 23:41:38 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-09 23:46:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-09 23:46:15 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3)
2024-12-09 23:47:41 +0100rstromlund(~user@user/rstromlund) (Ping timeout: 265 seconds)
2024-12-09 23:48:16 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Quit: cyanteeth)
2024-12-09 23:48:17 +0100JeremyB99(~JeremyB99@2607:ac80:407:7:3da5:f38:dd5d:1da3) (Read error: Connection reset by peer)
2024-12-09 23:52:51 +0100OftenFaded(~OftenFade@user/tisktisk) (Quit: Client closed)
2024-12-09 23:54:25 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-09 23:55:07 +0100Guest74(~Guest84@46.222.30.177)
2024-12-09 23:56:13 +0100Guest74(~Guest84@46.222.30.177) (Client Quit)
2024-12-09 23:56:53 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-09 23:59:54 +0100OftenFaded(~OftenFade@user/tisktisk) OftenFaded