2024-11-18 00:00:24 +0100 | werneta | (~werneta@syn-071-083-160-242.res.spectrum.com) werneta |
2024-11-18 00:00:30 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@142.147.89.209) (Quit: Leaving) |
2024-11-18 00:03:55 +0100 | vgtw | (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in) |
2024-11-18 00:04:10 +0100 | werneta_ | (~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 +0100 | ftzm | (~ftzm@085080230038.dynamic.telenor.dk) (Ping timeout: 276 seconds) |
2024-11-18 00:08:09 +0100 | vgtw | (~vgtw@user/vgtw) vgtw |
2024-11-18 00:08:21 +0100 | Alleria | (~Alleria@user/alleria) (Remote host closed the connection) |
2024-11-18 00:09:09 +0100 | Alleria | (~Alleria@user/alleria) Alleria |
2024-11-18 00:10:08 +0100 | xff0x | (~xff0x@2405:6580:b080:900:ba13:33aa:3901:2450) |
2024-11-18 00:18:40 +0100 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-11-18 00:19:46 +0100 | mari-estel | (~mari-este@user/mari-estel) (Remote host closed the connection) |
2024-11-18 00:20:02 +0100 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-11-18 00:21:56 +0100 | mari-estel | (~mari-este@user/mari-estel) (Client Quit) |
2024-11-18 00:22:37 +0100 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-11-18 00:25:10 +0100 | zlqrvx | (~zlqrvx@user/zlqrvx) (Quit: %quit%) |
2024-11-18 00:25:36 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f99b0ad6825ae812995.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2024-11-18 00:53:53 +0100 | divya | (~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 +0100 | xal | (~xal@mx1.xal.systems) xal |
2024-11-18 01:00:26 +0100 | peterbecich | (~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 +0100 | sprotte24 | (~sprotte24@p200300d16f2c3600a1fb2e60ac56d901.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2024-11-18 01:10:06 +0100 | Everything | (~Everythin@178-133-36-30.mobile.vf-ua.net) (Ping timeout: 246 seconds) |
2024-11-18 01:12:25 +0100 | hiredman | (~hiredman@frontier1.downey.family) hiredman |
2024-11-18 01:12:33 +0100 | hiredman | (~hiredman@frontier1.downey.family) (Client Quit) |
2024-11-18 01:12:51 +0100 | hiredman | (~hiredman@frontier1.downey.family) hiredman |
2024-11-18 01:16:22 +0100 | athan | (~athan@syn-173-042-095-241.biz.spectrum.com) athan |