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
2026-03-09 05:26:26 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052)
2026-03-09 05:26:26 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052) (Changing host)
2026-03-09 05:26:26 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 05:29:13 +0100khumba(~khumba@user/khumba) (Ping timeout: 244 seconds)
2026-03-09 05:30:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-03-09 05:31:31 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 272 seconds)
2026-03-09 05:42:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 05:47:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-09 05:57:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 06:00:36 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 06:02:51 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-03-09 06:06:03 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 268 seconds)
2026-03-09 06:12:05 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 06:13:59 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-09 06:18:18 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-03-09 06:23:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 06:28:30 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-03-09 06:32:12 +0100jzargo2(~jzargo@user/jzargo) (Read error: Connection reset by peer)
2026-03-09 06:32:37 +0100jzargo2(~jzargo@user/jzargo) jzargo
2026-03-09 06:39:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 06:42:13 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-03-09 06:42:23 +0100divlamir(~divlamir@user/divlamir) divlamir
2026-03-09 06:44:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-09 07:03:55 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds)
2026-03-09 07:13:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 07:15:39 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-09 07:18:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-03-09 07:19:27 +0100takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-03-09 07:20:48 +0100terrorjack(~terrorjac@2a01:4f8:271:2d98::2) terrorjack
2026-03-09 07:22:48 +0100tzh_(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2026-03-09 07:24:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 07:25:00 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
2026-03-09 07:29:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-03-09 07:40:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 07:45:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-03-09 07:49:12 +0100michalz(~michalz@185.246.207.200)
2026-03-09 07:49:16 +0100oskarw(~user@user/oskarw) oskarw
2026-03-09 07:50:29 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-03-09 07:55:54 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 07:56:35 +0100califax_(~califax@user/califx) califx
2026-03-09 07:57:41 +0100califax(~califax@user/califx) (Ping timeout: 258 seconds)
2026-03-09 07:57:54 +0100califax_califax
2026-03-09 08:01:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-09 08:10:11 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-03-09 08:11:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 08:12:44 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 08:12:53 +0100czan(~czan@user/mange) (Quit: Dinner time!)
2026-03-09 08:16:34 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-09 08:17:00 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 246 seconds)
2026-03-09 08:25:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 08:29:51 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052)
2026-03-09 08:29:51 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052) (Changing host)
2026-03-09 08:29:51 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 08:30:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-09 08:41:08 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-09 08:42:52 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-03-09 08:47:40 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-09 08:53:33 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-03-09 09:00:56 +0100jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 256 seconds)
2026-03-09 09:02:00 +0100tzh_(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-03-09 09:18:44 +0100ft(~ft@p4fc2a98c.dip0.t-ipconnect.de) (Quit: leaving)
2026-03-09 09:20:18 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 268 seconds)
2026-03-09 09:22:31 +0100prdak(~Thunderbi@user/prdak) prdak
2026-03-09 09:25:08 +0100prdak(~Thunderbi@user/prdak) (Remote host closed the connection)
2026-03-09 09:25:38 +0100prdak(~Thunderbi@user/prdak) prdak
2026-03-09 09:29:53 +0100merijn(~merijn@77.242.116.146) merijn
2026-03-09 09:31:59 +0100arthurvl(~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) (Ping timeout: 245 seconds)
2026-03-09 09:37:15 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 272 seconds)
2026-03-09 09:38:09 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2026-03-09 09:38:26 +0100vgtw(~vgtw@user/vgtw) (Ping timeout: 252 seconds)
2026-03-09 09:41:49 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-03-09 09:42:00 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-03-09 09:45:45 +0100akegalj(~akegalj@246-221.dsl.iskon.hr) akegalj
2026-03-09 09:46:23 +0100emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-03-09 09:49:48 +0100chele(~chele@user/chele) chele
2026-03-09 09:52:18 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-03-09 09:52:21 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052)
2026-03-09 09:52:21 +0100arandombit(~arandombi@2a02:2455:8656:7100:49f2:4a42:13a7:5052) (Changing host)
2026-03-09 09:52:21 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-09 09:52:40 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-03-09 09:55:40 +0100castan(~castan@2a02:2f0f:8210:d800:1625:20a6:66c:b041)
2026-03-09 09:57:31 +0100__monty__(~toonn@user/toonn) toonn
2026-03-09 10:01:50 +0100 <castan> Hi. Can someone help me understand what sorcery makes `mappend mempty Sum 3` get parsed as `mappend mempty (Sum 3)`
2026-03-09 10:02:24 +0100czan(~czan@user/mange) czan
2026-03-09 10:03:08 +0100loungerry_(~loungerry@150.241.86.78) (Remote host closed the connection)
2026-03-09 10:04:35 +0100 <probie> None
2026-03-09 10:04:42 +0100 <Leary> castan: It doesn't get /parsed/ as that; that's what it equals. `mappend mempty x = x` ==> `mappend mempty Sum = Sum` ==> `mappend mempty Sum 3 = Sum 3`.
2026-03-09 10:05:04 +0100 <Leary> One key detail here being `Monoid b => Monoid (a -> b)`.
2026-03-09 10:05:21 +0100 <probie> :t mappend mempty Sum
2026-03-09 10:05:22 +0100 <lambdabot> Num a => a -> Sum a
2026-03-09 10:05:38 +0100 <probie> :t (mappend mempty)
2026-03-09 10:05:39 +0100 <lambdabot> Monoid a => a -> a
2026-03-09 10:05:42 +0100 <castan> Oh hahahha