2024/11/14

2024-11-14 00:01:51 +0100falafel(~falafel@2600:1700:99f4:2050:41b3:d17e:817a:4e83) falafel
2024-11-14 00:02:55 +0100Everything(~Everythin@46.211.104.82) (Quit: leaving)
2024-11-14 00:28:22 +0100Xe_(~Xe@perl/impostor/xe) Xe
2024-11-14 00:29:11 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-14 00:29:57 +0100acidjnk_new3(~acidjnk@p200300d6e7283f7100fa0b96aa6639bf.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-11-14 00:32:33 +0100acidjnk_new3(~acidjnk@p200300d6e7283f717cba866c0fa9f7cd.dip0.t-ipconnect.de)
2024-11-14 00:47:47 +0100 <jackdk> I want to provide a type family-shaped helper that identifies the type of a record field, something like `FieldType "foo" MyRecord` reducing to `Bar`. I can get at the type of a field by looking at the fundep on the `HasField` class (GHC gives me in `instance HasField "foo" MyRecord Bar`, but is there a good idiom for binding and returning that type variable using a type family?
2024-11-14 00:48:23 +0100alexherbo2(~alexherbo@2a02-8440-3117-f07c-987b-fc29-77ee-addd.rev.sfr.net) (Remote host closed the connection)
2024-11-14 00:49:22 +0100CoolMa7(~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Quit: My Mac has gone to sleep. ZZZzzz…)
2024-11-14 00:49:54 +0100athostFI(~Atte@176-93-56-50.bb.dnainternet.fi)
2024-11-14 00:50:52 +0100alp(~alp@2001:861:e3d6:8f80:8dec:7d0f:9187:87d0) (Remote host closed the connection)
2024-11-14 00:51:04 +0100 <Axman6> This feels like it might be easier with generics-sop, but it's been a long time since I looked at any of these things
2024-11-14 00:51:40 +0100alp(~alp@2001:861:e3d6:8f80:cd0a:c39d:37b7:c1a3)
2024-11-14 00:53:05 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2024-11-14 00:53:24 +0100alp(~alp@2001:861:e3d6:8f80:cd0a:c39d:37b7:c1a3) (Remote host closed the connection)
2024-11-14 00:54:14 +0100alp(~alp@2001:861:e3d6:8f80:c1d0:6a01:957c:3af2)
2024-11-14 00:55:56 +0100alp(~alp@2001:861:e3d6:8f80:c1d0:6a01:957c:3af2) (Remote host closed the connection)
2024-11-14 01:01:19 +0100falafel(~falafel@2600:1700:99f4:2050:41b3:d17e:817a:4e83) (Ping timeout: 260 seconds)
2024-11-14 01:10:06 +0100acidjnk_new3(~acidjnk@p200300d6e7283f717cba866c0fa9f7cd.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2024-11-14 01:10:17 +0100alexherbo2(~alexherbo@2a02-8440-3117-f07c-987b-fc29-77ee-addd.rev.sfr.net) alexherbo2
2024-11-14 01:11:02 +0100 <Leary> jackdk: I doubt there's anything like an 'idiom' for this. Does `class HasField f r (Field f r) => HasFieldF f r where { type Field f r }; instance HasField f r t => HasFieldF f r where { type Field f r = t }` work?
2024-11-14 01:14:53 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-11-14 01:16:38 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2024-11-14 01:17:43 +0100 <glguy> jackdk: You could do something like this: https://bpa.st/AYDQ
2024-11-14 01:18:38 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-11-14 01:20:20 +0100arahael(~arahael@user/arahael) (Quit: Lost terminal)