2025/01/07

Newest at the top

2025-01-07 20:41:42 +0100Baltazar65(~Baltazar@79-101-207-3.dynamic.isp.telekom.rs)
2025-01-07 20:40:17 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-01-07 20:39:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2025-01-07 20:39:01 +0100 <int-e> (I guess reader, state, and writer are bad examples in that the newtypes are ad-hoc.)
2025-01-07 20:37:57 +0100 <int-e> s/of this/for this/
2025-01-07 20:37:45 +0100 <int-e> I mean, the mtl has a pattern of this: Define a type class for the DSL functions, then define a newtype that's either ad-hoc or wraps a stack of existing transformers (adding state etc. as needed), and then implement the type class for that particular newtype.
2025-01-07 20:36:40 +0100gorignak(~gorignak@user/gorignak) gorignak
2025-01-07 20:36:24 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-01-07 20:36:05 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2025-01-07 20:35:38 +0100ethantwardy(user@user/ethantwardy) (Quit: WeeChat 4.4.2)
2025-01-07 20:35:32 +0100 <Square> i guess my problem is creating a monad for my DSL really.
2025-01-07 20:34:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-07 20:34:20 +0100 <Square> int-e, all good. Thanks for trying.
2025-01-07 20:33:42 +0100xdminsy(~xdminsy@117.147.71.200) xdminsy
2025-01-07 20:33:29 +0100 <int-e> (I'm skimming at best; not going to read the whole article, sorry)
2025-01-07 20:33:01 +0100 <int-e> and WriterT etc.?
2025-01-07 20:32:50 +0100 <int-e> so... how does mtl implement ReaderT?
2025-01-07 20:32:41 +0100xdminsy(~xdminsy@117.147.71.200) (Read error: Connection reset by peer)
2025-01-07 20:30:52 +0100 <Square> author*
2025-01-07 20:30:36 +0100 <Square> int-e, I assume that is an answer on how I'd achieve Reader/Writer combined? My question was really how you, like the auther claims is possible, can create a Monad (using "some newtype wrappers") for the type of DSLs he describes in the article.
2025-01-07 20:28:13 +0100yushyin(~yushyin@mail.karif.server-speed.net) yushyin
2025-01-07 20:28:12 +0100s4msung(~s4msung@user/s4msung) s4msung
2025-01-07 20:28:07 +0100noctuks(mBZ68nSsKe@user/noctux) noctux
2025-01-07 20:27:31 +0100yushyin(POR894Vlok@mail.karif.server-speed.net) (Quit: WeeChat 4.4.3)
2025-01-07 20:27:31 +0100s4msung(4RaMuLb90c@user/s4msung) (Quit: s4msung)
2025-01-07 20:27:31 +0100noctuks(bEhVax6CGd@user/noctux) (Quit: WeeChat 4.4.3)
2025-01-07 20:26:43 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2025-01-07 20:26:39 +0100homo(~homo@user/homo) (Quit: Leaving)
2025-01-07 20:24:47 +0100 <int-e> (so what you'd do with mtl or transformers)
2025-01-07 20:24:08 +0100 <int-e> Square: I'd assume it's something like newtype RWT r w m a = RWT { unRWT :: ReaderT r (WriterT w m a) } deriving (Functor, Applicative, Monad, MonadReader r, MonadWriter w)
2025-01-07 20:23:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-07 20:21:44 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2025-01-07 20:19:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-07 20:18:37 +0100paul_j(~user@8.190.187.81.in-addr.arpa) (Read error: Connection reset by peer)
2025-01-07 20:18:18 +0100noctuks(bEhVax6CGd@user/noctux) noctux
2025-01-07 20:18:13 +0100yushyin(POR894Vlok@mail.karif.server-speed.net) yushyin
2025-01-07 20:18:13 +0100s4msung(4RaMuLb90c@user/s4msung) s4msung
2025-01-07 20:15:45 +0100CiaoSen(~Jura@2a05:5800:240:da00:ca4b:d6ff:fec1:99da) CiaoSen
2025-01-07 20:14:09 +0100gorignak(~gorignak@user/gorignak) gorignak
2025-01-07 20:13:31 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2025-01-07 20:08:27 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-01-07 20:08:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2025-01-07 20:03:57 +0100gorignak(~gorignak@user/gorignak) gorignak
2025-01-07 20:03:23 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-07 20:03:20 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2025-01-07 20:02:46 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-01-07 20:01:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2025-01-07 19:57:08 +0100 <Square> (For a wrapping the DSL I assume, just not sure what that would look like)
2025-01-07 19:56:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-07 19:56:16 +0100 <Square> I wonder if anyone know what the author means by "some newtype wrappers"?