2026/03/09

2026-03-09 00:00:44 +0100 <davean> They just add a constrait to solve for to the type checker
2026-03-09 00:03:55 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Ping timeout: 245 seconds)
2026-03-09 00:06:18 +0100Square(~Square@user/square) (Ping timeout: 244 seconds)
2026-03-09 00:06:23 +0100Square2(~Square4@user/square) Square
2026-03-09 00:17:20 +0100picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur
2026-03-09 00:36:51 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 00:41:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-03-09 00:52:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 00:56:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-03-09 00:57:06 +0100stackdroid18(~stackdroi@user/stackdroid) ()
2026-03-09 01:01:25 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 268 seconds)
2026-03-09 01:07:58 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 01:08:03 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-09 01:10:37 +0100tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2026-03-09 01:12:26 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-03-09 01:14:12 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2026-03-09 01:14:30 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-09 01:23:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 01:28:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-03-09 01:29:33 +0100Tuplanolla(~Tuplanoll@88.114.89.88) (Quit: Leaving.)
2026-03-09 01:30:16 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052)
2026-03-09 01:30:16 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052) (Changing host)
2026-03-09 01:30:16 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 01:39:07 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-09 01:40:27 +0100arandombit(~arandombi@user/arandombit) (Remote host closed the connection)
2026-03-09 01:42:33 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052)
2026-03-09 01:42:33 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052) (Changing host)
2026-03-09 01:42:33 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 01:43:39 +0100czan(~czan@user/mange) czan
2026-03-09 01:43:58 +0100xff0x(~xff0x@2405:6580:b080:900:3d38:9b05:9987:e9b1) (Ping timeout: 268 seconds)
2026-03-09 01:45:54 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 255 seconds)
2026-03-09 01:47:27 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 246 seconds)
2026-03-09 01:50:49 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052)
2026-03-09 01:50:49 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052) (Changing host)
2026-03-09 01:50:49 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 01:57:04 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-09 02:02:12 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 264 seconds)
2026-03-09 02:12:22 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-09 02:12:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 02:12:50 +0100karenw_(~karenw@user/karenw) (Ping timeout: 248 seconds)
2026-03-09 02:17:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-09 02:20:26 +0100travgm(~travgm@fsf/member/travgm) (Quit: Leaving)
2026-03-09 02:20:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 02:25:34 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-03-09 02:26:29 +0100j1n37(~j1n37@user/j1n37) j1n37
2026-03-09 02:36:38 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-09 02:39:06 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-03-09 02:40:47 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-03-09 02:52:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 02:57:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-09 03:07:47 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 03:13:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-03-09 03:23:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 03:30:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-09 03:36:10 +0100bggd_(~bgg@2a01:e0a:fd5:f510:d84e:bd19:3fca:eb64)
2026-03-09 03:43:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 03:48:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-03-09 03:51:39 +0100khumba(~khumba@user/khumba) khumba
2026-03-09 03:56:08 +0100 <ski> EvanR : for `class C a b c | a -> b', this expresses `forall a. unique b. exists c. C a b c', which is equivalent to `forall a b0 b1 c0 c1. (C a b0 c0,C a b1 c1) => b0 = b1'. this means that if you infer constraints `C a b0 c0' and `C a b1 c1' then you can add the constraint `b0 = b1'. it also means that if you find two instances where the `a' part is the same (upto renaming of tyvars) but the `b' part
2026-03-09 03:56:14 +0100 <ski> differs, then you have a violation of the FD
2026-03-09 03:57:38 +0100 <ski> "either this or associated types are needed to make multiparameter type classes typecheck without explicit annotations" -- for many, but not for all, usages. if you only invoke a single `C a b c' constraint (or there's only a single instance), then the presence or absence of the FD makes no difference
2026-03-09 03:59:03 +0100 <ski> (by `unique a. ..a..' i here mean "exists at most one", so equivalent to `forall a0 a1. (..a0..,..a1..) => a0 = a1')
2026-03-09 03:59:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 04:03:26 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 04:04:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-03-09 04:08:06 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-09 04:09:23 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052)
2026-03-09 04:09:23 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052) (Changing host)
2026-03-09 04:09:23 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 04:14:26 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 268 seconds)
2026-03-09 04:14:42 +0100myxos(~myxos@174-18-44-59.tcso.qwest.net) (Remote host closed the connection)
2026-03-09 04:15:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 04:17:38 +0100attlin(~user@user/attlin) (Ping timeout: 248 seconds)
2026-03-09 04:19:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-09 04:24:46 +0100poscat(~poscat@user/poscat) (Remote host closed the connection)
2026-03-09 04:26:08 +0100myxos(~myxos@174-18-44-59.tcso.qwest.net) myxokephale
2026-03-09 04:27:40 +0100poscat(~poscat@user/poscat) poscat
2026-03-09 04:37:14 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 04:38:47 +0100 <EvanR> that seems to all add up to the same thing as what i said. None of which to me connects with the "point" which is to select an instance
2026-03-09 04:39:55 +0100 <EvanR> the instances form a relation among types, restricted further by the functional dependency noted = all these constraints exist
2026-03-09 04:42:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-03-09 04:47:25 +0100attlin(~user@user/attlin) attlin
2026-03-09 04:50:24 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-03-09 04:52:04 +0100attlin(~user@user/attlin) (Quit: Leaving)
2026-03-09 04:53:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 04:56:07 +0100attlin(~user@user/attlin) attlin
2026-03-09 04:57:22 +0100rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.10.1 - https://znc.in)
2026-03-09 04:57:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-09 04:58:11 +0100rembo10(~rembo10@main.remulis.com) rembo10
2026-03-09 04:59:46 +0100Square2(~Square4@user/square) (Ping timeout: 244 seconds)
2026-03-09 05:14:42 +0100khumba(~khumba@user/khumba) (Ping timeout: 255 seconds)
2026-03-09 05:16:04 +0100khumba(~khumba@24.70.121.49)
2026-03-09 05:16:11 +0100khumba(~khumba@24.70.121.49) (Changing host)
2026-03-09 05:16:11 +0100khumba(~khumba@user/khumba) khumba
2026-03-09 05:18:21 +0100tessier(~tessier@ip68-8-117-219.sd.sd.cox.net) tessier
2026-03-09 05:18:55 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 264 seconds)
2026-03-09 05:22:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn