Logs: freenode/#haskell
| 2020-10-23 20:14:45 | <blip> | I'd want to have `data T = A | B` and a function F (a :: T) which gives F 'B = "B" |
| 2020-10-23 20:15:03 | <blip> | and I think that's not possible with generics |
| 2020-10-23 20:16:25 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
| 2020-10-23 20:16:59 | × | damianfral quits (uid469644@gateway/web/irccloud.com/x-glchetbxfivfvobd) (Quit: Connection closed for inactivity) |
| 2020-10-23 20:18:49 | × | texasmynsted quits (~texasmyns@185.240.246.92) (Ping timeout: 264 seconds) |
| 2020-10-23 20:19:03 | <ghoulguy> | GHC.Generics operate on types of kind * -> * and * |
| 2020-10-23 20:19:08 | → | texasmynsted joins (~texasmyns@185.240.246.92) |
| 2020-10-23 20:19:55 | → | texasmyn_ joins (~texasmyns@185.240.246.92) |
| 2020-10-23 20:20:02 | <blip> | yes, that's the problem |
| 2020-10-23 20:20:19 | <blip> | wrapping in Proxy doesn't help |
| 2020-10-23 20:20:24 | → | rprije joins (~rprije@194-193-168-77.tpgi.com.au) |
| 2020-10-23 20:21:52 | <blip> | well, sounds like TH is the only way foreward |
| 2020-10-23 20:21:55 | <blip> | or a plugin |
| 2020-10-23 20:22:32 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-23 20:22:52 | × | Deide quits (~Deide@217.155.19.23) (Ping timeout: 260 seconds) |
| 2020-10-23 20:23:19 | <ghoulguy> | Or just write it out by hand if it's a small number of cases |
| 2020-10-23 20:23:28 | × | texasmynsted quits (~texasmyns@185.240.246.92) (Ping timeout: 246 seconds) |
| 2020-10-23 20:23:36 | <ghoulguy> | if it's not write it out by hand to make sure you like the API before you invest TH time on it :) |
| 2020-10-23 20:24:04 | <blip> | about 100 promoted constructors :) |
| 2020-10-23 20:24:24 | <ghoulguy> | a job for an editor macro then |
| 2020-10-23 20:25:13 | <blip> | yes, the code would be easily generated. I'd just love to avoid inflating my source files |
| 2020-10-23 20:25:43 | <ghoulguy> | I'd expect the impact of a plugin or TH to be higher |
| 2020-10-23 20:25:47 | <monsterchrom> | "F 'B = ..." makes F either a type family or a term-level function Proxy T -> ... |
| 2020-10-23 20:25:59 | → | thir joins (~thir@p200300f27f19de001ce90606181a98e7.dip0.t-ipconnect.de) |
| 2020-10-23 20:26:08 | <ghoulguy> | f :: proxy t -> SomeSymbol |
| 2020-10-23 20:26:54 | <ghoulguy> | err: proxy T |
| 2020-10-23 20:26:54 | <blip> | monsterchrom: I'd prefer to avoid term-level |
| 2020-10-23 20:27:01 | <ghoulguy> | probably nicer to do the type family |
| 2020-10-23 20:27:09 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 2020-10-23 20:27:37 | <blip> | proxy (x :: T) |
| 2020-10-23 20:27:42 | <ghoulguy> | as a term-level it'd be a class method |
| 2020-10-23 20:28:06 | <blip> | yes, but type level guarantees no runtime overhead |
| 2020-10-23 20:28:13 | <blip> | term-level is always a risk |
| 2020-10-23 20:28:35 | <ghoulguy> | type-level means you won't know if you have a knownsymbol constraint to use |
| 2020-10-23 20:28:43 | <ghoulguy> | which might not matter |
| 2020-10-23 20:28:56 | <ghoulguy> | You can always just assert one |
| 2020-10-23 20:29:05 | <ghoulguy> | KnownSymbol (F thing) => |
| 2020-10-23 20:29:22 | <ghoulguy> | sounds like a mess either way :) |
| 2020-10-23 20:29:42 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds) |
| 2020-10-23 20:29:58 | <blip> | I think I'll go for the type family |
| 2020-10-23 20:30:21 | <Uniaika> | hello there |
| 2020-10-23 20:30:27 | <blip> | type family Bananas (x :: A) where Bananas B = "B" etc... |
| 2020-10-23 20:30:47 | <blip> | hello |
| 2020-10-23 20:31:10 | × | bliminse quits (~bliminse@host109-158-26-29.range109-158.btcentralplus.com) (Ping timeout: 246 seconds) |
| 2020-10-23 20:31:25 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-10-23 20:32:07 | → | bliminse joins (~bliminse@host109-158-26-29.range109-158.btcentralplus.com) |
| 2020-10-23 20:35:19 | × | hexagoxel quits (~hexagoxel@2a01:4f8:c0c:e::2) (Ping timeout: 244 seconds) |
| 2020-10-23 20:35:21 | → | cpape` joins (~user@static.180.18.203.116.clients.your-server.de) |
| 2020-10-23 20:36:01 | × | bcoppens quits (~bartcopp@kde/coppens) (Ping timeout: 244 seconds) |
| 2020-10-23 20:36:03 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds) |
| 2020-10-23 20:36:08 | → | bcoppens joins (~bartcopp@vpn2.bartcoppens.be) |
| 2020-10-23 20:36:10 | × | bcoppens quits (~bartcopp@vpn2.bartcoppens.be) (Changing host) |
| 2020-10-23 20:36:10 | → | bcoppens joins (~bartcopp@kde/coppens) |
| 2020-10-23 20:36:22 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 2020-10-23 20:36:40 | × | cpape quits (~user@static.180.18.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2020-10-23 20:36:42 | × | erolm_a quits (~erolm_a@62.18.213.68) (Ping timeout: 260 seconds) |
| 2020-10-23 20:36:49 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2020-10-23 20:36:58 | → | hexagoxel joins (~hexagoxel@hexagoxel.de) |
| 2020-10-23 20:37:00 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
| 2020-10-23 20:37:03 | × | barrucadu quits (~barrucadu@fsf/member/barrucadu) (Ping timeout: 244 seconds) |
| 2020-10-23 20:38:13 | → | barrucadu joins (~barrucadu@static.200.134.203.116.clients.your-server.de) |
| 2020-10-23 20:38:14 | × | barrucadu quits (~barrucadu@static.200.134.203.116.clients.your-server.de) (Changing host) |
| 2020-10-23 20:38:14 | → | barrucadu joins (~barrucadu@fsf/member/barrucadu) |
| 2020-10-23 20:38:27 | hackage | stack2cabal 1.0.12 - Convert stack projects to cabal.project + cabal.project.freeze https://hackage.haskell.org/package/stack2cabal-1.0.12 (maerwald) |
| 2020-10-23 20:38:30 | × | knupfer quits (~Thunderbi@200116b8245a8800b5cb2522bccc843f.dip.versatel-1u1.de) (Quit: knupfer) |
| 2020-10-23 20:38:38 | → | knupfer joins (~Thunderbi@200116b8245a8800b5cb2522bccc843f.dip.versatel-1u1.de) |
| 2020-10-23 20:39:12 | × | Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2020-10-23 20:39:14 | × | efertone quits (~efertone@138.68.79.27) (Quit: Ping timeout (120 seconds)) |
| 2020-10-23 20:39:38 | × | gxt quits (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection) |
| 2020-10-23 20:39:39 | → | Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net) |
| 2020-10-23 20:39:41 | → | efertone joins (~efertone@138.68.79.27) |
| 2020-10-23 20:39:56 | → | erolm_a joins (~erolm_a@62.18.213.68) |
| 2020-10-23 20:40:08 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 2020-10-23 20:40:24 | → | gxt joins (~gxt@gateway/tor-sasl/gxt) |
| 2020-10-23 20:40:44 | → | ensyde joins (~ensyde@2600:1702:2e30:1a40:9c62:9bf3:3478:5d05) |
| 2020-10-23 20:40:52 | → | sdx32 joins (~sdx23@unaffiliated/sdx23) |
| 2020-10-23 20:40:55 | → | KhoN_1 joins (~KhoN@cm-84.208.147.132.getinternet.no) |
| 2020-10-23 20:41:20 | → | mozzarel1 joins (~sam@unaffiliated/sam113101) |
| 2020-10-23 20:42:00 | → | polux20013 joins (~polux@51.15.169.172) |
| 2020-10-23 20:42:21 | × | blip quits (58823ddf@gateway/web/cgi-irc/kiwiirc.com/ip.88.130.61.223) (Ping timeout: 256 seconds) |
| 2020-10-23 20:42:23 | → | atriq joins (~Taneb@runciman.hacksoc.org) |
| 2020-10-23 20:42:24 | → | otulp_ joins (~otulp@ti0187q162-5696.bb.online.no) |
| 2020-10-23 20:42:28 | → | styledash3 joins (~styledash@157.230.173.136) |
| 2020-10-23 20:42:51 | → | jonatan_ joins (~nate@h77-53-70-163.cust.a3fiber.se) |
| 2020-10-23 20:43:03 | → | dopplerg- joins (~dop@titan.pathogen.is) |
| 2020-10-23 20:43:20 | → | valdyn_ joins (~valdyn@host-88-217-143-53.customer.m-online.net) |
| 2020-10-23 20:44:31 | → | monochrm joins (trebla@216.138.220.146) |
| 2020-10-23 20:44:33 | → | hongminh1e joins (~dahlia@207.148.91.209) |
| 2020-10-23 20:44:59 | → | alp joins (~alp@2a01:e0a:58b:4920:80f:b0e:18f1:7b3) |
| 2020-10-23 20:45:12 | → | jhuizy3 joins (~jhuizy@static.241.188.216.95.clients.your-server.de) |
| 2020-10-23 20:45:22 | → | NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur) |
| 2020-10-23 20:45:42 | × | ensyde quits (~ensyde@2600:1702:2e30:1a40:9c62:9bf3:3478:5d05) (Ping timeout: 260 seconds) |
| 2020-10-23 20:46:06 | → | jsynacek_ joins (~jsynacek@ip-185-149-130-112.kmenet.cz) |
| 2020-10-23 20:48:42 | → | denucat joins (teqwve@2001:bc8:28d6::2) |
| 2020-10-23 20:50:03 | × | Chi1thangoo quits (~Chi1thang@87.112.60.168) (*.net *.split) |
| 2020-10-23 20:50:03 | × | Cathy quits (~Cathy@unaffiliated/cathy) (*.net *.split) |
| 2020-10-23 20:50:03 | × | Lowl3v3l quits (~Lowl3v3l@dslb-002-203-195-108.002.203.pools.vodafone-ip.de) (*.net *.split) |
| 2020-10-23 20:50:03 | × | carlomagno quits (~cararell@148.87.23.13) (*.net *.split) |
| 2020-10-23 20:50:04 | × | kish quits (~oracle@unaffiliated/oracle) (*.net *.split) |
| 2020-10-23 20:50:04 | × | Varis quits (~Tadas@unaffiliated/varis) (*.net *.split) |
All times are in UTC.