Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,461 events total
2021-08-24 21:51:11 × markpythonicbtc quits (~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-24 21:51:45 markpythonicbtc joins (~textual@2601:647:5a00:35:999f:46ac:3d0f:19d0)
2021-08-24 21:53:45 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-08-24 21:54:59 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-24 21:55:12 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-24 21:57:36 jgeerds joins (~jgeerds@55d4b311.access.ecotel.net)
2021-08-24 21:58:50 × jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-24 21:59:14 jtomas joins (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-24 21:59:29 × cuz quits (~user@38.140.58.234) (Ping timeout: 248 seconds)
2021-08-24 22:04:33 × skykanin quits (~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2)
2021-08-24 22:05:35 chris joins (~chris@81.96.113.213)
2021-08-24 22:05:38 chris is now known as Guest1966
2021-08-24 22:05:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-24 22:06:28 ubert joins (~Thunderbi@178.165.204.112.wireless.dyn.drei.com)
2021-08-24 22:06:53 × acidjnk_new3 quits (~acidjnk@p200300d0c72b9534e4a445cd6b407eb5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-24 22:07:59 × ubert quits (~Thunderbi@178.165.204.112.wireless.dyn.drei.com) (Client Quit)
2021-08-24 22:08:17 ubert joins (~Thunderbi@178.165.204.112.wireless.dyn.drei.com)
2021-08-24 22:09:19 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d)
2021-08-24 22:11:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-24 22:12:31 × ubert quits (~Thunderbi@178.165.204.112.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
2021-08-24 22:13:49 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) (Ping timeout: 250 seconds)
2021-08-24 22:14:27 ubert joins (~Thunderbi@178.165.204.112.wireless.dyn.drei.com)
2021-08-24 22:15:10 × ubert quits (~Thunderbi@178.165.204.112.wireless.dyn.drei.com) (Client Quit)
2021-08-24 22:15:51 <hseg> why is ghc complaining it cannot prove c (Sum a) in the call to f here? http://ix.io/3wRV
2021-08-24 22:15:55 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d)
2021-08-24 22:16:13 × mouseghost quits (~draco@user/mouseghost) (Quit: mew wew)
2021-08-24 22:19:18 × jtomas quits (~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-24 22:19:25 <glguy> f @Sum :: c a => c (Sum a) => [Sum a] -> [Sum a]
2021-08-24 22:19:37 <glguy> but you only asserted that: c a => on the outside
2021-08-24 22:19:43 <glguy> so c (Sum a) is leftover
2021-08-24 22:20:18 <hseg> not sure I follow
2021-08-24 22:20:32 <glguy> to use f @Sum, you need two instances: c a, and c (Sum a)
2021-08-24 22:20:42 <glguy> you only had one of those available so you got an error about the other
2021-08-24 22:20:42 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
2021-08-24 22:20:56 <hseg> ah. meant a quantified constraint instead
2021-08-24 22:21:03 <hseg> not a curried constraint arrow
2021-08-24 22:21:07 <glguy> ah
2021-08-24 22:21:37 <hseg> wanted "you can call this function whose type depends on f provided you show c a implies c (f a)"
2021-08-24 22:22:42 <glguy> What you wrote means you can only use f *if* it's true that c a implies c (Sum a), right?
2021-08-24 22:22:56 <hseg> yup
2021-08-24 22:23:00 <glguy> but we don't know that
2021-08-24 22:23:45 <glguy> did you want that implication as a top-level constraint perhaps instead of attached to 'f'?
2021-08-24 22:23:48 <hseg> .. meant the first parameter to test can only be called at such f s.t. c a implies c (f a)
2021-08-24 22:24:10 <glguy> since we don't know that c a implies c (Sum a) we can't use f
2021-08-24 22:25:07 <hseg> ah, right
2021-08-24 22:25:11 <hseg> hrmph
2021-08-24 22:25:56 <hseg> original usecase was that I want a combinator that will tag/untag variables that have useless Monoid constraints
2021-08-24 22:26:00 <hseg> which worked fine
2021-08-24 22:26:47 <hseg> (so my passed function was eg :: (forall f. Monoid (f l) => t (f l) -> t (f l) -> t (f l))
2021-08-24 22:27:14 <hseg> except now I want to pass a function that makes an additional assumption on this f l
2021-08-24 22:27:35 <hseg> hrm
2021-08-24 22:28:31 <hseg> ig the way to spell this would be to have test constrained with (c a => c (Sum a)), and have its parameter just assume c (f a)
2021-08-24 22:29:36 <hseg> ... and indeed, am forced to write what can equivalently and more simply can be written test :: c (Sum a) => ...
2021-08-24 22:31:07 <hseg> iow, qc wouldn't help me here unless I could magically synthesise a type constructor f s.t. c a => c (f a)
2021-08-24 22:33:44 <hseg> thanks!
2021-08-24 22:41:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-24 22:42:10 × Gurkenglas quits (~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2021-08-24 22:42:13 shailangsa joins (~shailangs@host86-185-102-120.range86-185.btcentralplus.com)
2021-08-24 22:45:33 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-08-24 22:45:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-24 22:46:01 jakalx joins (~jakalx@base.jakalx.net)
2021-08-24 22:46:13 lavaman joins (~lavaman@98.38.249.169)
2021-08-24 22:50:39 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-08-24 22:52:15 sjb0 joins (~stephen@1.145.81.71)
2021-08-24 22:55:00 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) (Remote host closed the connection)
2021-08-24 22:56:38 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d)
2021-08-24 22:58:08 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
2021-08-24 22:59:03 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Read error: Connection reset by peer)
2021-08-24 22:59:22 × chisui quits (~chisui@200116b868760900d980a481ca884939.dip.versatel-1u1.de) (Ping timeout: 246 seconds)
2021-08-24 22:59:48 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-24 23:03:49 × Ananta-shesha quits (~pjetcetal@2.95.210.196) (Remote host closed the connection)
2021-08-24 23:05:19 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-24 23:05:33 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-24 23:11:09 Natch joins (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se)
2021-08-24 23:11:32 Ananta-shesha joins (~pjetcetal@2.95.210.196)
2021-08-24 23:12:10 × dextaa quits (~DV@user/dextaa) (Ping timeout: 240 seconds)
2021-08-24 23:13:39 dextaa joins (~DV@user/dextaa)
2021-08-24 23:15:17 <hseg> hrmmph. any ideas on how to reduce this boilerplate? http://ix.io/3wS6
2021-08-24 23:16:27 × jgeerds quits (~jgeerds@55d4b311.access.ecotel.net) (Ping timeout: 240 seconds)
2021-08-24 23:17:21 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
2021-08-24 23:17:27 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 240 seconds)
2021-08-24 23:18:58 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
2021-08-24 23:21:23 × oldsk00l quits (~znc@ec2-3-120-38-228.eu-central-1.compute.amazonaws.com) (Remote host closed the connection)
2021-08-24 23:22:14 benin036932 joins (~benin@183.82.178.142)
2021-08-24 23:25:49 <hseg> so it seems I'm falling into the same trap I did a couple minutes ago here? http://ix.io/3wS8
2021-08-24 23:26:34 <hseg> viz. I'm expecting a constrained parameter to bring the required dicts with it
2021-08-24 23:27:13 <hseg> where instead a parameter (c => t) means I can only call that parameter in contexts where c is true
2021-08-24 23:27:46 hyiltiz joins (~quassel@31.220.5.250)
2021-08-24 23:28:14 <hseg> it seems what I want is an existential quantifier
2021-08-24 23:28:42 <hseg> which requires me to pack that parameter up in a GADT
2021-08-24 23:29:13 × vysn quits (~vysn@user/vysn) (Ping timeout: 250 seconds)
2021-08-24 23:29:14 <hseg> in which case I can scrap most of this approach, and try just doing GADT+evaluator
2021-08-24 23:33:18 aegon joins (~mike@174.127.249.180)
2021-08-24 23:33:52 × Guest1966 quits (~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-08-24 23:34:22 <aegon> I need to compose effects in a new project and am realizing mtl is not the best choice according to what I am reading. Whats the actual difference of transformers? Is there something that summarizes the differences / reasoning behind transformers vs mtl?
2021-08-24 23:35:04 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a8c1:f34:41fc:ef3d) (Remote host closed the connection)
2021-08-24 23:35:09 <hpc> iirc one is the types and the other is the type classes
2021-08-24 23:35:42 <hpc> i usually just think of them as the same thing
2021-08-24 23:36:37 <aegon> so i should depend on both?
2021-08-24 23:36:40 d0ku joins (~d0ku@178.43.56.75.ipv4.supernova.orange.pl)

All times are in UTC.