2025/10/14

Newest at the top

2025-10-14 22:11:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-10-14 22:07:56 +0200haltsolver(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-14 22:06:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-14 22:05:49 +0200craunts79533538(~craunts@136.158.7.194) (Quit: The Lounge - https://thelounge.chat)
2025-10-14 22:04:52 +0200gustrb(~gustrb@191.243.134.87)
2025-10-14 22:03:38 +0200 <monochrom> But my class has associated type synonym. :(
2025-10-14 22:03:21 +0200 <EvanR> our implicits are different!
2025-10-14 22:03:06 +0200 <EvanR> we can still ignore it and do type classes vs the world
2025-10-14 22:03:04 +0200Everything(~Everythin@46.96.48.125) (Quit: leaving)
2025-10-14 21:59:18 +0200trickard_trickard
2025-10-14 21:59:01 +0200 <monochrom> Yeah I saw reflection. Sadly or funnily, now it enters GHC canon!
2025-10-14 21:57:34 +0200nschoe(~nschoe@2a01:e0a:8e:a190:9978:942:5e21:4051) nschoe
2025-10-14 21:57:17 +0200nschoe(~nschoe@2a01:e0a:8e:a190:5a5d:b819:b564:200f) (Quit: ZNC 1.8.2 - https://znc.in)
2025-10-14 21:56:24 +0200myme(~myme@2a01:799:d5e:5f00:3f1f:ed6a:2329:6f95) myme
2025-10-14 21:56:04 +0200 <geekosaur> yeh, that's been around for a while. as has IfCxt and friends.
2025-10-14 21:56:04 +0200 <jackdk> monochrom: package reflection has been able to do this for a while. lens uses it to implement things like `foldMapBy` where you provide a fake monoid
2025-10-14 21:55:58 +0200haltsolver(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
2025-10-14 21:55:35 +0200myme(~myme@2a01:799:d5e:5f00:400a:36cb:71d2:d99e) (Ping timeout: 250 seconds)
2025-10-14 21:55:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-10-14 21:54:57 +0200 <monochrom> Not sure I should be happy or sad. GHC.Exts (in fact GHC.Magic.Dict) has WithDict. This allows dynamic instances of classes. I was actually looking for it.
2025-10-14 21:50:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-14 21:41:16 +0200Guest77(~Guest77@static-186-121-246-148.acelerate.net) (Quit: Client closed)
2025-10-14 21:40:17 +0200haltsolver(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-14 21:39:31 +0200Enrico63(~Enrico63@host-82-59-110-109.retail.telecomitalia.it) Enrico63
2025-10-14 21:38:57 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-10-14 21:35:14 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-10-14 21:33:18 +0200raym(~ray@user/raym) (Ping timeout: 256 seconds)
2025-10-14 21:32:38 +0200skilooks at Guest77
2025-10-14 21:32:21 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-14 21:29:45 +0200Everything(~Everythin@46.96.48.125) Everything
2025-10-14 21:27:17 +0200 <EvanR> ((a,b) -> c) -> (a -> (b -> c))
2025-10-14 21:27:02 +0200 <EvanR> actually, just parentheses
2025-10-14 21:26:40 +0200 <EvanR> to understand curry you must first understanding currying
2025-10-14 21:26:37 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 260 seconds)
2025-10-14 21:26:26 +0200 <lambdabot> ((a, b) -> c) -> a -> b -> c
2025-10-14 21:26:25 +0200 <EvanR> :t curry
2025-10-14 21:25:44 +0200nogloff(uid464985@id-464985.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2025-10-14 21:25:27 +0200haltsolver(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 260 seconds)
2025-10-14 21:24:08 +0200 <haskellbridge> <Kyle Butt> Guest77: A function of 2 arguments can be re-written as a function of 1 argument (the first) that returns a function of one argument (the second).
2025-10-14 21:22:32 +0200 <monochrom> It would be more productive with a more specific question or comment.
2025-10-14 21:21:56 +0200 <Guest77> i don't understand currying principle, can someone explain me?
2025-10-14 21:21:24 +0200Guest77(~Guest77@static-186-121-246-148.acelerate.net)
2025-10-14 21:21:21 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-10-14 21:16:34 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-10-14 21:15:42 +0200haltsolver(~cmo@2604:3d09:207f:8000::d1dc)
2025-10-14 21:11:40 +0200 <ski> (with `+i', you can easily temporarily side-step, with sending `invite' to ChanServ (.. or adding an invite exempt `+I'). with `+b', you'd have to add a ban exempt `+e')
2025-10-14 21:09:53 +0200 <ski> `+f' (forward) applies to all of `+i' (invite-only), `+j' (join throttle), `+l' (limit), `+r' (registered only), as well as `+b' (ban)
2025-10-14 21:08:17 +0200 <ski> yep
2025-10-14 21:07:25 +0200 <geekosaur> "forward-ban". which means instead of preventing joining it joins them to a different channel, in this case #haskell
2025-10-14 21:06:51 +0200 <ski> (invite-only, rather than blanket ban, would probably be more comfortable, i think)