2025/08/03

Newest at the top

2025-08-03 11:47:00 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-08-03 11:41:12 +0200tromp(~textual@2001:1c00:3487:1b00:1c21:f6c3:9146:cddf)
2025-08-03 11:38:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-03 11:34:11 +0200sprotte24(~sprotte24@p200300d16f12c90091062a35ec430294.dip0.t-ipconnect.de)
2025-08-03 11:34:09 +0200caubert(~caubert@user/caubert) caubert
2025-08-03 11:33:41 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-03 11:29:15 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-03 11:28:18 +0200trickard(~trickard@cpe-56-98-47-163.wireline.com.au) (Ping timeout: 248 seconds)
2025-08-03 11:22:56 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-08-03 11:20:58 +0200caubert(~caubert@user/caubert) (Ping timeout: 240 seconds)
2025-08-03 11:20:49 +0200aplainzetakind(~aplainzet@37.155.93.221) aplainzetakind
2025-08-03 11:18:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-03 11:17:09 +0200entropics(~boo@2600:1700:3bdd:9810::d) (Read error: Connection reset by peer)
2025-08-03 11:15:19 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
2025-08-03 11:14:23 +0200entropics(~boo@2600:1700:3bdd:9810::d)
2025-08-03 11:14:09 +0200entropics(~boo@user/entropics) (Remote host closed the connection)
2025-08-03 11:12:25 +0200poscat(~poscat@user/poscat) poscat
2025-08-03 11:11:13 +0200trickard_trickard
2025-08-03 11:09:32 +0200poscat0x04(~poscat@user/poscat) (Remote host closed the connection)
2025-08-03 11:07:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-03 11:06:54 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-08-03 11:00:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-03 10:55:00 +0200caubert(~caubert@user/caubert) caubert
2025-08-03 10:52:10 +0200EvanR(~EvanR@user/evanr) (Quit: Leaving)
2025-08-03 10:49:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-08-03 10:47:00 +0200caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2025-08-03 10:45:38 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2025-08-03 10:44:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-03 10:43:29 +0200acidjnk(~acidjnk@p200300d6e71719149d1d473a745282b7.dip0.t-ipconnect.de) acidjnk
2025-08-03 10:40:42 +0200 <lxsameer> Leary: ah i see, thank you
2025-08-03 10:38:51 +0200 <Leary> Well, there kinda is: the same way you write (or the GHC instance deriver) writes `Functor` instances, when it's possible. This is just another kind of `fmap`, so it should be quite mechanical.
2025-08-03 10:37:20 +0200 <lxsameer> so basically, there's no generic way to write that mapping function, did I get it right?
2025-08-03 10:34:38 +0200 <Leary> Which kind of mapping function you need depends on the details of the transformer. The latter is also impossible if the transformer isn't functorial in the monad.
2025-08-03 10:34:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-03 10:34:12 +0200 <c_wraith> err. sorry, highlighted the wrong person. But you've sorted it out
2025-08-03 10:34:10 +0200 <lxsameer> cause I don't know how to extract a from a generic monad m
2025-08-03 10:33:53 +0200 <lxsameer> Leary: but m a -> n b is kinda immposible
2025-08-03 10:33:37 +0200 <lxsameer> c_wraith: cheers, I rather learn how to do it, it seems it's a gap in my knowledge
2025-08-03 10:32:59 +0200 <c_wraith> Note that it's polytypic, so leaning on the library doesn't give you any implementation tools
2025-08-03 10:32:50 +0200caubert(~caubert@user/caubert) caubert
2025-08-03 10:32:31 +0200 <Leary> Like `mapFooT :: (m a -> n b) -> FooT m a -> FooT n b` or `hmapFooT :: (forall x. m x -> n x) -> FooT m a -> FooT n a`.
2025-08-03 10:32:26 +0200 <c_wraith> Leary: you'd have something that looks a lot like https://hackage-content.haskell.org/package/mmorph-1.2.1/docs/Control-Monad-Morph.html#v:hoist
2025-08-03 10:31:51 +0200 <lxsameer> like foo :: m a -> n a?
2025-08-03 10:30:20 +0200 <Leary> lxsameer: What's stopping you from writing a function polmorphic in the monads?
2025-08-03 10:30:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-03 10:28:44 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich)
2025-08-03 10:28:01 +0200caubert(~caubert@user/caubert) (Ping timeout: 248 seconds)
2025-08-03 10:27:01 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au)
2025-08-03 10:24:02 +0200 <lxsameer> hey folks, I have a transformer monad FooT m a, what would be the conventional way to create a generic function that transforms the inner monad m to n? Right now, i have a function that I specialize for different types of m and n
2025-08-03 10:20:57 +0200trickard_(~trickard@cpe-56-98-47-163.wireline.com.au) (Read error: Connection reset by peer)