2025/04/26

Newest at the top

2025-04-26 21:53:10 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-04-26 21:52:25 +0200 <[exa]> "haskell work" ?
2025-04-26 21:46:52 +0200roaccess(~roaccess@user/roaccess) (Quit: leaving)
2025-04-26 21:46:47 +0200 <__monty__> There's Haskell work on XKCD?
2025-04-26 21:39:22 +0200michalz(~michalz@185.246.207.205)
2025-04-26 21:37:11 +0200tromp(~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-04-26 21:33:40 +0200roaccess(~roaccess@user/roaccess) roaccess
2025-04-26 21:27:00 +0200Square2(~Square@user/square) Square
2025-04-26 21:23:15 +0200pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2025-04-26 21:22:41 +0200 <EvanR> i.e. return a simplified or abstract set of errors instead, then you don't need to merge them
2025-04-26 21:22:26 +0200pointlessslippe1(~pointless@62.106.85.17) (Ping timeout: 252 seconds)
2025-04-26 21:22:23 +0200tromp(~textual@2001:1c00:3487:1b00:ac80:9bb1:e5dc:c7d3)
2025-04-26 21:22:20 +0200 <EvanR> if the user shouldn't care what you used to interface with postgres, then it would seem they shouldn't get those errors either
2025-04-26 21:20:02 +0200 <haskellbridge> <Liamzee> MonadIO: people who love classy monads are now happy
2025-04-26 21:19:31 +0200 <haskellbridge> <Liamzee> bleh, maybe i'll just finish the early iteration of the library, post to github, post a "please halp" thread somewhere, and then go from there
2025-04-26 21:18:17 +0200euleritian(~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de)
2025-04-26 21:18:16 +0200 <EvanR> not sure what MonadIO gets you
2025-04-26 21:18:01 +0200euleritian(~euleritia@ip4d17f82f.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2025-04-26 21:17:34 +0200 <haskellbridge> <Liamzee> well, not really
2025-04-26 21:17:26 +0200 <haskellbridge> <Liamzee> although I was thinking of moving it to MonadIO, which would make things way more complicated
2025-04-26 21:17:09 +0200 <EvanR> Left
2025-04-26 21:17:05 +0200 <EvanR> and return Either if it's your exceptions
2025-04-26 21:16:55 +0200 <EvanR> you could also use Exception internally if you have IO
2025-04-26 21:16:51 +0200 <haskellbridge> <Liamzee> then catch before the do block
2025-04-26 21:16:43 +0200 <haskellbridge> <Liamzee> to get rid of the pyramid of doom i could just do throwIO for the exceptions should they emerge
2025-04-26 21:16:30 +0200 <haskellbridge> <Liamzee> yeah i know
2025-04-26 21:16:18 +0200 <EvanR> another way is to embrace Exception and throw those in IO instead of trying to do everything with Either
2025-04-26 21:15:31 +0200 <EvanR> probably infeasible and overengineered without language support
2025-04-26 21:15:02 +0200 <EvanR> there was an extensible variant paper which has this as a possible application, "merging" errors
2025-04-26 21:14:47 +0200 <haskellbridge> <Liamzee> https://paste.tomsmeding.com/iChs4zTJ
2025-04-26 21:14:43 +0200LainIwakura(~LainIwaku@user/LainIwakura) LainIwakura
2025-04-26 21:13:54 +0200 <EvanR> keep wrapping stuff in more Lefts?
2025-04-26 21:13:47 +0200 <EvanR> what is your solution
2025-04-26 21:13:43 +0200 <haskellbridge> <Liamzee> because i end up with a pyramid of doom pattern
2025-04-26 21:13:37 +0200 <haskellbridge> <Liamzee> i mean i already have a solution, it's just ugly
2025-04-26 21:13:37 +0200 <EvanR> because I'm still not clear what the problem is
2025-04-26 21:13:26 +0200 <EvanR> if that's supposed to be a solution I don't know exactly what is being proposed
2025-04-26 21:13:19 +0200 <davean> EvanR: No I think this is actually critical to program design
2025-04-26 21:13:04 +0200 <EvanR> all you're doing now is obstructing the problem description from being stated
2025-04-26 21:12:58 +0200 <haskellbridge> <Liamzee> btw thanks for the work on xkcd
2025-04-26 21:12:37 +0200 <davean> Sure they are, they're your API now
2025-04-26 21:12:29 +0200sprotte24(~sprotte24@p200300d16f0edb008da0b43d58ccc511.dip0.t-ipconnect.de)
2025-04-26 21:12:25 +0200 <EvanR> well passing them through unchanged would then be "not your errors"
2025-04-26 21:12:07 +0200 <davean> At the end of the day, one way or antoher. They might just be someone else's passed through
2025-04-26 21:11:51 +0200 <EvanR> if only have your own errors if you handle all the possible errors from the wrapped library and do a masking or conversion
2025-04-26 21:11:35 +0200rvalue-rvalue
2025-04-26 21:11:28 +0200 <davean> You only have your own errors
2025-04-26 21:11:27 +0200 <EvanR> if at all
2025-04-26 21:11:09 +0200 <EvanR> so basically how to "properly" bubble the inner libraries detailed errors to the user of your wrapper, when you also have your own errors on top of that
2025-04-26 21:10:58 +0200Goodbye_Vincent1(cyvahl@freakshells.net)