2026/04/22

Newest at the top

2026-04-22 12:05:02 +0000A_Dragon(A_D@libera/staff/dragon) ad
2026-04-22 12:04:48 +0000gAy_Dragon(A_D@libera/staff/dragon) (Quit: ZNC - https://znc.in)
2026-04-22 12:04:41 +0000confusedalex(~confuseda@user/confusedalex) confusedalex
2026-04-22 12:01:43 +0000aka_dude(~aka_dude@2a03:f80:30:f490::1)
2026-04-22 12:00:52 +0000aka_dude(~aka_dude@2a03:f80:30:f490::1) (Quit: Gateway shutdown)
2026-04-22 11:58:40 +0000tremon(~tremon@83.80.159.219) tremon
2026-04-22 11:55:42 +0000aka_dude(~aka_dude@2a03:f80:30:f490::1)
2026-04-22 11:54:43 +0000aka_dude(~aka_dude@192.71.166.120) (Quit: Gateway shutdown)
2026-04-22 11:54:19 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-22 11:54:19 +0000arandombit(~arandombi@2a02:2455:8656:7100:a164:435b:6188:a364) (Changing host)
2026-04-22 11:54:19 +0000arandombit(~arandombi@2a02:2455:8656:7100:a164:435b:6188:a364)
2026-04-22 11:42:28 +0000tromp(~textual@2001:1c00:340e:2700:463:2385:89e0:6cf) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-04-22 11:29:55 +0000confusedalex(~confuseda@user/confusedalex) (Remote host closed the connection)
2026-04-22 11:26:36 +0000 <lambdabot> s -> IO (Maybe a, s)
2026-04-22 11:26:35 +0000 <ski> @unmtl MaybeT (StateT s IO) a
2026-04-22 11:26:28 +0000 <lambdabot> s -> IO (Maybe (a, s))
2026-04-22 11:26:28 +0000 <ski> @unmtl StateT s (MaybeT IO) a
2026-04-22 11:25:38 +0000 <lambdabot> s -> IO (Either e a, s)
2026-04-22 11:25:38 +0000 <ski> @unmtl ExceptT e (StateT s IO) a
2026-04-22 11:25:07 +0000 <lambdabot> s -> IO (Either e (a, s))
2026-04-22 11:25:07 +0000 <ski> @unmtl StateT s (ExceptT e IO) a
2026-04-22 11:24:53 +0000 <lambdabot> s -> EitherT e IO (a, s)
2026-04-22 11:24:53 +0000 <ski> @unmtl StateT s (EitherT e IO) a
2026-04-22 11:24:36 +0000 <ski> mm, YAML is unrelated
2026-04-22 11:21:08 +0000craunts795335385(~craunts@152.32.100.66)
2026-04-22 11:19:22 +0000xff0x(~xff0x@2405:6580:b080:900:a57a:c3e:71fc:8409)
2026-04-22 11:17:39 +0000craunts795335385(~craunts@152.32.100.66) (Quit: The Lounge - https://thelounge.chat)
2026-04-22 11:15:33 +0000tv(~tv@user/tv) tv
2026-04-22 11:04:21 +0000 <nmeum> yea, makes sense
2026-04-22 11:04:00 +0000 <merijn> nmeum: i.e. imagine `StateT s (EitherT e IO) a`, it ends up doing `runStateT` + `runEitherT` to turn it into `IO (Either e (s, a))` and then rewrapping that. But if the EitherT (or MaybeT) early aborts you don't get a state to return.
2026-04-22 11:02:14 +0000 <merijn> nmeum: The problem is that catch is effectively unwrapping/rewrapping the stack, and there's no general way to make e.g. `StateT` handler that
2026-04-22 11:00:03 +0000 <nmeum> hm, that would presuppose changing the entire internal state representation of my monad. I think I would rather throw a custom exception which also includes the state or something along those lines then
2026-04-22 10:58:24 +0000 <merijn> nmeum: Or rather, in that scenario you probably just want a Reader of an IORef/MVar to access the state
2026-04-22 10:58:10 +0000puke(~puke@user/puke) puke
2026-04-22 10:57:43 +0000 <merijn> nmeum: You do not
2026-04-22 10:50:32 +0000divlamir(~divlamir@user/divlamir) divlamir
2026-04-22 10:50:15 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-04-22 10:48:50 +0000pfc(~pfc@user/pfc) (Ping timeout: 248 seconds)
2026-04-22 10:47:16 +0000tv(~tv@user/tv) (Read error: Connection reset by peer)
2026-04-22 10:43:11 +0000 <mauke> ski: and don't forget YAML
2026-04-22 10:24:50 +0000nmeum_nmeum
2026-04-22 10:24:47 +0000 <nmeum_> I have a question regarding Control.Monad.Catch: I do exception handling via `catch` in the context of a stateful monad `m`, in the exception handler `(e -> m a)` I want to access information about the state of my monad in which the exception occured. however, the exception handler action is executed in the state of the `catch` caller. how do access the error `m` state?
2026-04-22 10:22:25 +0000nmeum_(~nmeum@barium.8pit.net) nmeum
2026-04-22 10:21:45 +0000puke(~puke@user/puke) (Remote host closed the connection)
2026-04-22 10:12:27 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 255 seconds)
2026-04-22 10:02:51 +0000L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2026-04-22 09:53:34 +0000arandombit(~arandombi@user/arandombit) (Remote host closed the connection)
2026-04-22 09:53:30 +0000arandombit(~arandombi@user/arandombit) arandombit
2026-04-22 09:50:42 +0000acidjnk_new(~acidjnk@p200300d6e700e575659a3cc58dc6913c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2026-04-22 09:49:04 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 245 seconds)