2026/05/24

2026-05-24 00:01:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 00:02:19 +0000troojg(~troojg@user/troojg) (Remote host closed the connection)
2026-05-24 00:05:38 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-05-24 00:06:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 243 seconds)
2026-05-24 00:18:05 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 250 seconds)
2026-05-24 00:26:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 00:27:14 +0000tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2026-05-24 00:32:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-05-24 00:44:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 00:49:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 00:50:51 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-05-24 00:54:30 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2026-05-24 00:59:52 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 01:01:51 +0000weary-traveler(~user@user/user363627) user363627
2026-05-24 01:06:22 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 245 seconds)
2026-05-24 01:17:51 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 01:22:17 +0000cyclemaniac(~cyclemani@2a02:8071:881:2d20:c1c7:793e:b89b:1589) (Ping timeout: 245 seconds)
2026-05-24 01:22:31 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-05-24 01:27:49 +0000acidjnk_new(~acidjnk@p200300d6e700e570753f3d38cea48d7a.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-05-24 01:33:16 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 01:37:53 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-05-24 01:49:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 01:49:10 +0000 <dibblego> there is no traverse1_
2026-05-24 01:53:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 247 seconds)
2026-05-24 02:04:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 02:05:04 +0000op_4(~tslil@user/op-4/x-9116473) (Remote host closed the connection)
2026-05-24 02:05:43 +0000op_4(~tslil@user/op-4/x-9116473) op_4
2026-05-24 02:09:07 +0000ricardomaps(~ricardoma@2804:14d:a040:81ea:379:6b8f:6819:999a) (Quit: ricardomaps)
2026-05-24 02:09:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 259 seconds)
2026-05-24 02:09:44 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 259 seconds)
2026-05-24 02:20:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 02:25:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 261 seconds)
2026-05-24 02:30:10 +0000Square(~Square@user/square) (Ping timeout: 243 seconds)
2026-05-24 02:36:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 02:43:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-05-24 02:46:46 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Remote host closed the connection)
2026-05-24 02:50:15 +0000crazazy(crazazy@tilde.town) (Quit: WeeChat 4.6.3)
2026-05-24 02:54:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 02:59:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-05-24 03:04:45 +0000Vizious(~bes@user/Vizious) (Ping timeout: 245 seconds)
2026-05-24 03:08:23 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-05-24 03:10:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 03:11:18 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Client Quit)
2026-05-24 03:14:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-05-24 03:16:20 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-05-24 03:25:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 03:29:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-05-24 03:32:55 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2026-05-24 03:35:56 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-05-24 03:40:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 03:45:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 03:56:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 04:01:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 242 seconds)
2026-05-24 04:05:12 +0000rekahsoft(~rekahsoft@70.51.99.119) (Remote host closed the connection)
2026-05-24 04:08:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 04:13:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-05-24 04:24:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 04:30:04 +0000foul_owl(~kerry@94.156.149.95) foul_owl
2026-05-24 04:30:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 04:34:15 +0000rainbyte(~rainbyte@181.47.219.31) rainbyte
2026-05-24 04:36:27 +0000rainbyte_(~rainbyte@181.47.219.3) (Ping timeout: 254 seconds)
2026-05-24 04:42:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 04:43:49 +0000olivial_(~benjaminl@2601:1c0:8100:ae80:f13:c77a:da00:42c9) (Read error: Connection reset by peer)
2026-05-24 04:44:05 +0000olivial(~benjaminl@user/benjaminl) benjaminl
2026-05-24 04:47:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 257 seconds)
2026-05-24 04:58:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 05:00:51 +0000Inline(~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
2026-05-24 05:02:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 05:07:49 +0000spew(~spew@user/spew) spew
2026-05-24 05:13:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 05:19:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-05-24 05:21:20 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-05-24 05:29:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 05:34:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-05-24 05:35:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 05:37:43 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-05-24 05:39:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-05-24 05:44:39 +0000wickedjargon(~user@2605:8d80:5431:9939:9be8:7bc:f980:b3dd) wickedjargon
2026-05-24 05:46:36 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-05-24 05:50:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 05:55:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-05-24 06:01:48 +0000ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
2026-05-24 06:04:11 +0000ThePenguin(~ThePengui@95.80.28.221) ThePenguin
2026-05-24 06:06:36 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2026-05-24 06:06:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 06:13:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-05-24 06:21:24 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-05-24 06:24:37 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 06:29:09 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-24 06:31:26 +0000Beowulf(florian@sleipnir.bandrate.org) (Quit: = "")
2026-05-24 06:38:25 +0000Inline(~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) Inline
2026-05-24 06:38:55 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-05-24 06:45:16 +0000Beowulf(florian@sleipnir.bandrate.org)
2026-05-24 06:47:39 +0000haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2026-05-24 06:54:54 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-05-24 07:01:02 +0000tt1231607019780(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Quit: The Lounge - https://thelounge.chat)
2026-05-24 07:02:18 +0000Vizious(~bes@user/Vizious) Vizious
2026-05-24 07:03:14 +0000tt1231607019780(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) tt1231
2026-05-24 07:09:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 07:13:09 +0000wickedjargon(~user@2605:8d80:5431:9939:9be8:7bc:f980:b3dd) (Remote host closed the connection)
2026-05-24 07:13:35 +0000euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2026-05-24 07:14:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 263 seconds)
2026-05-24 07:19:48 +0000tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2026-05-24 07:25:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 07:25:37 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2026-05-24 07:27:17 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-05-24 07:30:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 253 seconds)
2026-05-24 07:40:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 07:45:44 +0000tusko(~uwu@user/tusko) (Ping timeout: 252 seconds)
2026-05-24 07:45:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-05-24 07:46:00 +0000tusko(~uwu@user/tusko) tusko
2026-05-24 07:50:30 +0000p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.10.1 - https://znc.in)
2026-05-24 07:52:27 +0000p3n(~p3n@217.198.124.246) p3n
2026-05-24 07:56:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 07:59:05 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 251 seconds)
2026-05-24 07:59:22 +0000euphores(~SASL_euph@user/euphores) euphores
2026-05-24 08:01:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-05-24 08:17:27 +0000euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2026-05-24 08:28:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 08:28:47 +0000acidjnk_new(~acidjnk@p200300d6e700e5702a377d17456d4d93.dip0.t-ipconnect.de)
2026-05-24 08:33:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-05-24 08:44:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 08:44:41 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-05-24 08:44:53 +0000divlamir(~divlamir@user/divlamir) divlamir
2026-05-24 08:47:47 +0000tnt1(~Thunderbi@user/tnt1) (Remote host closed the connection)
2026-05-24 08:49:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-05-24 08:53:36 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-05-24 08:57:07 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-05-24 08:58:49 +0000acidjnk_new3(~acidjnk@p200300d6e700e58123079e5c04a78535.dip0.t-ipconnect.de)
2026-05-24 09:00:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 09:01:57 +0000acidjnk_new(~acidjnk@p200300d6e700e5702a377d17456d4d93.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2026-05-24 09:03:14 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-05-24 09:05:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-05-24 09:07:09 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-05-24 09:10:12 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-05-24 09:11:30 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 09:13:00 +0000tnt1(~Thunderbi@user/tnt1) (Quit: tnt1)
2026-05-24 09:14:58 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-05-24 09:16:38 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 256 seconds)
2026-05-24 09:17:12 +0000tnt1(~Thunderbi@user/tnt1) (Client Quit)
2026-05-24 09:19:07 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-05-24 09:22:15 +0000euphores(~SASL_euph@user/euphores) euphores
2026-05-24 09:22:25 +0000__monty__(~toonn@user/toonn) toonn
2026-05-24 09:27:07 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 09:29:33 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2026-05-24 09:31:27 +0000 <Noinia> Hmm, I've encountered a somewhat weird issue around constraints and type families. I have some 'IsDrawable backend g' class, and I defined a 'Rendered backend' typefamily, with, in particular, Rendered (Svg model action) = [View model action] (here Svg is the backend; what View is is not very important). However, for whatever reason it seems GHC cannot resolve this 'Rendered (Svg model action)' def in a
2026-05-24 09:31:33 +0000 <Noinia> typeclass instance; see Line 122 of https://github.com/noinia/hgeometry/blob/c12f1facde730b5daf03128f8ddb8b05db401df5/hgeometry/doc-fi… does anyone have an idea why this is the case?
2026-05-24 09:32:18 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-24 09:33:15 +0000 <Noinia> (i.e. without the L122; GHC complains that it cannot deteremine that (Rendered (Svg model action)) has a Monoid constraint; that seems odd to me; since I just defined that 'Rendered (Svg model action) = [View model action])' above there (which thus has a Monoid constraint)
2026-05-24 09:38:15 +0000emilym(~Thunderbi@user/emilym) emilym
2026-05-24 09:42:31 +0000 <tomsmeding> Noinia: that's odd. I tried to reproduce it very minimally but I couldn't -- I'm probably missing some essential component of your situation https://play.haskell.org/saved/nO5kBURh
2026-05-24 09:42:42 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 246 seconds)
2026-05-24 09:42:54 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 09:44:34 +0000 <Leary> tomsmeding: tweaked: https://play.haskell.org/saved/RyQAXNsG
2026-05-24 09:45:09 +0000 <tomsmeding> oh! I was almost there too, just missing the a on the RHS of Rendered (Svg a)
2026-05-24 09:45:17 +0000 <tomsmeding> turns out that occurrence is important
2026-05-24 09:46:53 +0000 <tomsmeding> is the problem here that GHC has to infer a quanfified constraint `forall a. Monoid (Rendered (Svg a))` here and somehow it decides not to reduce the type family in that case?
2026-05-24 09:47:13 +0000 <Noinia> yes I also made a minimal example; but somehow didn't manage to reproduce it yet that way
2026-05-24 09:47:15 +0000 <int-e> Works with 9.0 though (after enabling FlexibleContexts). Fun!
2026-05-24 09:47:31 +0000 <Noinia> in my actual code I now got things to work by specifying that the argument of Svg has Kind Type
2026-05-24 09:47:42 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-24 09:47:45 +0000 <tomsmeding> yes, this kind of "when exactly do I expand the type family" feels like a thing that SPJ and friends have been tinkering with recently
2026-05-24 09:47:48 +0000AlexNoo(~AlexNoo@5.139.233.99)
2026-05-24 09:48:01 +0000 <tomsmeding> :o
2026-05-24 09:48:08 +0000 <Noinia> G
2026-05-24 09:48:16 +0000 <tomsmeding> so you even need kind-polymorphism for this to faiul
2026-05-24 09:48:18 +0000 <tomsmeding> *fail
2026-05-24 09:48:36 +0000 <tomsmeding> oh
2026-05-24 09:49:11 +0000 <Noinia> hmm yes apparently
2026-05-24 09:49:18 +0000 <tomsmeding> Noinia: the `model` parameter in your IsDrawable instance declaration has any kind, but the `model` parameter in your `type instance Rendered` declaration is forced to kind Type due to being an argument to View
2026-05-24 09:49:30 +0000 <tomsmeding> so GHC determines that your type instance is not general enough and doesn't use it
2026-05-24 09:49:49 +0000 <tomsmeding> your explicit L122 type equality forces `model` to have kind Type (otherwise the equality doesn't kind-check) so all works
2026-05-24 09:50:17 +0000 <int-e> https://play.haskell.org/saved/RyQAXNsG
2026-05-24 09:50:22 +0000 <int-e> I hate this
2026-05-24 09:50:51 +0000 <tomsmeding> that's the same link Leary pasted?
2026-05-24 09:50:55 +0000 <int-e> (I marked this in the playground but of course it didn't make it into the X11 selection: instance IsDrawable (Svg (a :: *)) )
2026-05-24 09:51:01 +0000 <tomsmeding> oh haha
2026-05-24 09:51:10 +0000 <int-e> Anyway, that makes it work.
2026-05-24 09:51:21 +0000 <int-e> weirdly, adding :: * in the type family doesn't
2026-05-24 09:51:21 +0000 <tomsmeding> that confirms my explanation
2026-05-24 09:51:23 +0000 <Noinia> yes indeed; maybe in hindsight thatm akes sense
2026-05-24 09:51:32 +0000 <tomsmeding> int-e: no, because it's the type Svg that is too general
2026-05-24 09:51:50 +0000 <tomsmeding> so the family instance is not general enough for the class instance
2026-05-24 09:52:02 +0000 <int-e> tomsmeding: Oh. Of course.
2026-05-24 09:52:09 +0000AlexNoo(~AlexNoo@5.139.233.99) (Ping timeout: 246 seconds)
2026-05-24 09:52:11 +0000 <Noinia> (i.e. restricting the Svg type signature to kind Type)
2026-05-24 09:52:21 +0000 <tomsmeding> Noinia: that seems like the correct solution, yes
2026-05-24 09:52:38 +0000DetourNe-(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-05-24 09:52:45 +0000 <Noinia> Thanks for the help! :)
2026-05-24 09:52:50 +0000 <tomsmeding> fun, this is _very_ hard to spot if you're not aware of how the kind system works precisely
2026-05-24 09:52:52 +0000DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-05-24 09:54:54 +0000DetourNe-DetourNetworkUK
2026-05-24 09:56:50 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-05-24 09:58:42 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 10:05:05 +0000 <tomsmeding> fun: Claude Opus cannot explain why the little reproducer fails, even when given access to GHC to test stuff. It concludes that it's a known limitation of GHC.
2026-05-24 10:05:18 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-24 10:09:00 +0000AlexZenon(~alzenon@5.139.233.99) (Ping timeout: 244 seconds)
2026-05-24 10:09:55 +0000Alex_delenda_est(~al_test@5.139.233.99) (Ping timeout: 264 seconds)
2026-05-24 10:12:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 10:12:56 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-05-24 10:14:09 +0000AlexZenon(~alzenon@5.139.233.99)
2026-05-24 10:17:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 267 seconds)
2026-05-24 10:18:04 +0000target_i(~target_i@user/target-i/x-6023099) target_i
2026-05-24 10:26:09 +0000drdo(~drdo@2a01:4f8:1c1c:4976::1) (Remote host closed the connection)
2026-05-24 10:26:44 +0000drdo(~drdo@2a01:4f8:1c1c:4976::1) drdo
2026-05-24 10:28:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 10:29:54 +0000DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Ping timeout: 245 seconds)
2026-05-24 10:33:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-05-24 10:43:57 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 10:50:27 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 245 seconds)
2026-05-24 11:01:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 11:07:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-05-24 11:08:27 +0000 <[exa]> tomsmeding: I love how these things are unable to say "I don't know"
2026-05-24 11:08:55 +0000 <tomsmeding> it's not the most likely answer when you read webpages and books :)
2026-05-24 11:13:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 11:18:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-05-24 11:20:02 +0000 <[exa]> :)
2026-05-24 11:20:34 +0000 <[exa]> is there actually any way to annotate the type family so that the instance would know that `a` is in * ?
2026-05-24 11:21:04 +0000 <[exa]> oh wait no, it's a different `a` than in the class
2026-05-24 11:21:06 +0000 <[exa]> okay nvm
2026-05-24 11:21:09 +0000 <[exa]> cool example
2026-05-24 11:28:38 +0000 <Leary> Each token the machine generates is chosen according to a weight/probability, from which a confidence score for the entire output can be derived and warnings issued when below corresponding thresholds.
2026-05-24 11:29:11 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 11:29:13 +0000 <Leary> Hence it can say "I don't know" even if the training data never does. I don't know why this isn't already widely done; it's probably harder than it sounds.
2026-05-24 11:29:32 +0000weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-05-24 11:30:42 +0000 <tomsmeding> I've had that idea too, about 5 secods from hearing about the "can't say 'don't know'" problem. I think all machine learning researchers have. So the fact that people don't do it ought to mean that it's indeed hardder than it sounds :p
2026-05-24 11:31:15 +0000 <int-e> Or, perhaps, not desirable (scores poorly in post-training with humans)
2026-05-24 11:31:47 +0000 <int-e> But I do imagine that getting a good handle on certainty is actually hard.
2026-05-24 11:32:06 +0000 <tomsmeding> if it was really as simple as what Leary said, then you don't need training for that, and it could be a switch in the UI, which would get a bunch of media coverage
2026-05-24 11:32:28 +0000Alex_delenda_est(~al_test@5.139.233.99)
2026-05-24 11:33:23 +0000 <int-e> Oh I'm sure it's easy to get a number. The hard part is making it reflect reality ;)
2026-05-24 11:33:31 +0000 <tomsmeding> :p
2026-05-24 11:34:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-05-24 11:35:00 +0000 <int-e> . o O ( What's 2+3? -- I don't know. My best guess is five. )
2026-05-24 11:46:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 11:49:46 +0000 <[exa]> I'd love exactly that kind of LLM experience ^
2026-05-24 11:50:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-05-24 12:01:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 12:06:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 12:14:11 +0000ski(~ski@90-224-14-130-no600.tbcn.telia.com) (Read error: Connection reset by peer)
2026-05-24 12:14:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 12:17:09 +0000terrorjack(~terrorjac@2a01:4f8:271:2d98::2) (Quit: The Lounge - https://thelounge.chat)
2026-05-24 12:20:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-05-24 12:22:05 +0000Raito_Bezarius(~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (Ping timeout: 272 seconds)
2026-05-24 12:22:38 +0000ski(~ski@90.224.14.130) ski
2026-05-24 12:24:04 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 245 seconds)
2026-05-24 12:32:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 12:33:13 +0000terrorjack(~terrorjac@2a01:4f8:271:2d98::2) terrorjack
2026-05-24 12:34:25 +0000terrorjack(~terrorjac@2a01:4f8:271:2d98::2) (Client Quit)
2026-05-24 12:35:04 +0000 <[exa]> are there any good transformer helpers that would allow me to stick a MaybeT _below_ the current "top" monad? I have `StateT s (MaybeT ...) a` and want to evaluate that to `StateT s ... a`. Purpose: simulation of patternmatching with monads and rollback.
2026-05-24 12:37:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-05-24 12:37:34 +0000terrorjack(~terrorjac@2a01:4f8:271:2d98::2) terrorjack
2026-05-24 12:37:35 +0000Square(~Square@user/square) Square
2026-05-24 12:38:21 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-05-24 12:44:28 +0000 <tomsmeding> :t mapStateT
2026-05-24 12:44:29 +0000 <lambdabot> (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b
2026-05-24 12:45:44 +0000 <tomsmeding> :t mapStateT @(MaybeT IO) @_ @_ @IO
2026-05-24 12:45:46 +0000 <lambdabot> (MaybeT IO (w1, w2) -> IO (b, w2)) -> StateT w2 (MaybeT IO) w1 -> StateT w2 IO b
2026-05-24 12:45:57 +0000 <tomsmeding> [exa]: using IO as a standin here because I have no free type variable to reference
2026-05-24 12:46:37 +0000 <Leary> You won't have a state value in the `Nothing` case, though, so `n` will need to redundantly encode failure.
2026-05-24 12:46:53 +0000 <Leary> :t mapStateT (\act -> runMaybeT act >>= maybe empty pure)
2026-05-24 12:46:54 +0000 <lambdabot> (Monad n, Alternative n) => StateT s (MaybeT n) b -> StateT s n b
2026-05-24 12:47:05 +0000 <[exa]> oh cool, that would work
2026-05-24 12:47:16 +0000 <[exa]> yeah if stuff fails I'll need to fail it manually later
2026-05-24 12:48:07 +0000 <[exa]> thanks guys
2026-05-24 12:48:16 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 12:48:24 +0000 <[exa]> is there any chance to have this "generically" ?
2026-05-24 12:48:55 +0000 <[exa]> imagine if someone has a different State there (or just a Reader or such) and I'd want that code to hold
2026-05-24 12:49:19 +0000 <Leary> It's starting to sound like you want a real effect system.
2026-05-24 12:50:42 +0000gmg(~user@user/gehmehgeh) (Quit: Leaving)
2026-05-24 12:51:08 +0000 <Leary> But if you're okay restricting to transformers that are functorial in the monad, you can replace `mapStateT` with a higher-order `fmap`.
2026-05-24 12:51:32 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) (Ping timeout: 252 seconds)
2026-05-24 12:51:48 +0000 <Leary> (of type `(m ~> n) -> t m ~> t n`)
2026-05-24 12:52:17 +0000morj(~morj@user/morj) morj
2026-05-24 12:52:51 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 242 seconds)
2026-05-24 12:53:20 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2026-05-24 12:53:52 +0000 <[exa]> oh would that be this thing essentially? https://hackage-content.haskell.org/package/mmorph-1.2.2/docs/Control-Monad-Morph.html#t:MFunctor
2026-05-24 12:56:22 +0000 <Leary> Yes, that's one incarnation.
2026-05-24 12:58:11 +0000 <[exa]> ok I might just do it for the concrete case I guess, the extra packaging around is better avoided and I don't want a whole effect system, but at least I'll have a "correct-sounding" name for the thing
2026-05-24 13:01:22 +0000segfaultfizzbuzz(~segfaultf@157-131-220-130.fiber.dynamic.sonic.net) segfaultfizzbuzz
2026-05-24 13:01:42 +0000 <segfaultfizzbuzz> doesn't lazy evaluation tend to conflict with amdahl's law?
2026-05-24 13:04:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 13:07:42 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-05-24 13:08:40 +0000emmanuelux(~em@user/emmanuelux) emmanuelux
2026-05-24 13:08:44 +0000tremon(~tremon@83.80.159.219) tremon
2026-05-24 13:09:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 13:09:03 +0000 <tomsmeding> aren't those two orthogonal concerns?
2026-05-24 13:12:37 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 276 seconds)
2026-05-24 13:12:59 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2026-05-24 13:12:59 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2026-05-24 13:12:59 +0000haritz(~hrtz@user/haritz) haritz
2026-05-24 13:13:16 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-05-24 13:19:43 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-05-24 13:21:11 +0000emmanuelux(~em@user/emmanuelux) emmanuelux
2026-05-24 13:23:21 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2026-05-24 13:24:26 +0000fp1(~Thunderbi@2001-14ba-6e24-3000-cb85-53ba-5aff-d578.rev.dnainternet.fi) fp
2026-05-24 13:26:33 +0000poscat(~poscat@user/poscat) poscat
2026-05-24 13:31:10 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 13:35:57 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-24 13:41:59 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 245 seconds)
2026-05-24 13:43:21 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-05-24 13:44:20 +0000emmanuelux(~em@user/emmanuelux) emmanuelux
2026-05-24 13:45:00 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2026-05-24 13:45:02 +0000humasect(~humasect@192.249.132.90) humasect
2026-05-24 13:46:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 13:50:10 +0000fp1(~Thunderbi@2001-14ba-6e24-3000-cb85-53ba-5aff-d578.rev.dnainternet.fi) (Ping timeout: 245 seconds)
2026-05-24 13:53:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 270 seconds)
2026-05-24 14:01:11 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-05-24 14:03:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 14:04:41 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-05-24 14:04:43 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-05-24 14:04:54 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-05-24 14:05:03 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-05-24 14:10:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-05-24 14:15:40 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2026-05-24 14:16:23 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-05-24 14:16:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 14:21:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-05-24 14:32:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 14:34:48 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2026-05-24 14:37:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 14:47:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 14:53:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-05-24 14:55:02 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-05-24 14:57:37 +0000synchromesh(~john@2406:5a00:247e:1500:bc22:e610:8777:fdc1) (Read error: Connection reset by peer)
2026-05-24 14:58:33 +0000synchromesh(~john@2406:5a00:247e:1500:4cca:facc:b385:8d3e) synchromesh
2026-05-24 15:01:43 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-05-24 15:03:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 15:06:36 +0000morj(~morj@user/morj) (Quit: Konversation terminated!)
2026-05-24 15:08:40 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-05-24 15:17:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 15:22:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-05-24 15:33:04 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-24 15:37:45 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 248 seconds)
2026-05-24 15:48:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 15:55:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-05-24 16:02:41 +0000troydm(~troydm@user/troydm) troydm
2026-05-24 16:06:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 16:06:48 +0000 <segfaultfizzbuzz> the decision of what to evaluate needs to be coordinated across "things which execute" (threads? cores?)
2026-05-24 16:07:46 +0000 <segfaultfizzbuzz> presumably there is some inaccuracy in the choice of what to eval, so you can't parallelize beyond that
2026-05-24 16:08:19 +0000 <segfaultfizzbuzz> plus you need to synchronize (??) the eval decisions somehow
2026-05-24 16:08:33 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-05-24 16:08:34 +0000 <segfaultfizzbuzz> gives me a bit of a headache to think about though
2026-05-24 16:09:27 +0000 <tomsmeding> amdahl's "law" is just an observation about scaling behaviour in the simplified model where a piece of software neatly falls apart into two halves, one of which is sequential, the other of which is perfectly parallel on N threads
2026-05-24 16:09:44 +0000 <tomsmeding> I still don't see the relation with evaluation strategies
2026-05-24 16:10:01 +0000 <tomsmeding> also, the moment you depart from this simplified model, amdahl ceases to apply (directly)
2026-05-24 16:11:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-05-24 16:18:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 16:19:13 +0000puke(~puke@014136001187.ctinets.com) (Quit: puke)
2026-05-24 16:23:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 16:30:06 +0000puke(~puke@user/puke) puke
2026-05-24 16:34:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 16:37:24 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2026-05-24 16:38:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-05-24 16:42:17 +0000notzmv(~umar@user/notzmv) (Ping timeout: 248 seconds)
2026-05-24 16:45:41 +0000notzmv(~umar@user/notzmv) notzmv
2026-05-24 16:49:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 16:50:09 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2026-05-24 16:54:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 273 seconds)
2026-05-24 17:05:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 17:09:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 17:20:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 17:27:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-24 17:30:36 +0000spew(~spew@user/spew) (Ping timeout: 264 seconds)
2026-05-24 17:35:45 +0000tnt1(~Thunderbi@user/tnt1) (Ping timeout: 252 seconds)
2026-05-24 17:38:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-24 17:43:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-05-24 17:44:56 +0000vanishingideal(~vanishing@user/vanishingideal) (Read error: Connection reset by peer)
2026-05-24 17:47:45 +0000AlexNoo(~AlexNoo@5.139.233.99)
2026-05-24 17:50:03 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life