2024/11/18

2024-11-18 00:00:24 +0100werneta(~werneta@syn-071-083-160-242.res.spectrum.com) werneta
2024-11-18 00:00:30 +0100Jeanne-Kamikaze(~Jeanne-Ka@142.147.89.209) (Quit: Leaving)
2024-11-18 00:03:55 +0100vgtw(~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
2024-11-18 00:04:10 +0100werneta_(~werneta@syn-071-083-160-242.res.spectrum.com) werneta
2024-11-18 00:04:38 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-11-18 00:05:21 +0100ftzm(~ftzm@085080230038.dynamic.telenor.dk) (Ping timeout: 276 seconds)
2024-11-18 00:08:09 +0100vgtw(~vgtw@user/vgtw) vgtw
2024-11-18 00:08:21 +0100Alleria(~Alleria@user/alleria) (Remote host closed the connection)
2024-11-18 00:09:09 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-18 00:10:08 +0100xff0x(~xff0x@2405:6580:b080:900:ba13:33aa:3901:2450)
2024-11-18 00:18:40 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-18 00:19:46 +0100mari-estel(~mari-este@user/mari-estel) (Remote host closed the connection)
2024-11-18 00:20:02 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-18 00:21:56 +0100mari-estel(~mari-este@user/mari-estel) (Client Quit)
2024-11-18 00:22:37 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-18 00:25:10 +0100zlqrvx(~zlqrvx@user/zlqrvx) (Quit: %quit%)
2024-11-18 00:25:36 +0100acidjnk_new(~acidjnk@p200300d6e7283f99b0ad6825ae812995.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2024-11-18 00:53:53 +0100divya(~user@139.5.11.231) divya
2024-11-18 00:55:56 +0100 <SrPx> so now that im using haskell for a larger project, monad transformers are unavoidable. but it is somewhat annoying to have chains of lifts. wouldn't it make more sense to have a list of the involved monads, and then a 'pick' that selects the one you want? like, `x <- pick M_IO $ something` instead of `x <- lift $ lift $ something`
2024-11-18 00:57:17 +0100 <Axman6> that's basically what MTL is
2024-11-18 00:57:48 +0100 <SrPx> oh, just learned about it. cool
2024-11-18 00:57:52 +0100 <glguy> monad transformers are not an inevitability of large projects
2024-11-18 00:59:09 +0100 <glguy> at most they can be an implementation detail of your more-specific monads that you are defining
2024-11-18 01:00:26 +0100xal(~xal@mx1.xal.systems) xal
2024-11-18 01:00:26 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
2024-11-18 01:01:25 +0100 <Axman6> yeah the RIO approach (or similar ReaderT Env IO ideas) get you a very long way. it's pretty easy to do things like `inDB :: DB a -> ReaderT Env IO a` which runs a transaction inside your reader
2024-11-18 01:02:48 +0100sprotte24(~sprotte24@p200300d16f2c3600a1fb2e60ac56d901.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2024-11-18 01:10:06 +0100Everything(~Everythin@178-133-36-30.mobile.vf-ua.net) (Ping timeout: 246 seconds)
2024-11-18 01:12:25 +0100hiredman(~hiredman@frontier1.downey.family) hiredman
2024-11-18 01:12:33 +0100hiredman(~hiredman@frontier1.downey.family) (Client Quit)
2024-11-18 01:12:51 +0100hiredman(~hiredman@frontier1.downey.family) hiredman