2025/04/15

Newest at the top

2025-04-15 13:50:53 +0200urdh(~urdh@user/urdh) (Ping timeout: 272 seconds)
2025-04-15 13:50:09 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 248 seconds)
2025-04-15 13:49:53 +0200poscat(~poscat@user/poscat) (Read error: Connection reset by peer)
2025-04-15 13:49:36 +0200sinbad(~sinbad@user/sinbad) ()
2025-04-15 13:49:00 +0200 <Inst> for instance, html in Haskell, whether through the Blaze or Lucid libraries, is a writer-like eDSL
2025-04-15 13:48:56 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2025-04-15 13:48:30 +0200 <lambdabot> https://hackage.haskell.org/package/managed
2025-04-15 13:48:30 +0200 <ski> @hackage managed
2025-04-15 13:48:26 +0200 <Inst> and Writer these days is used less for logging, and more for constructing builder eDSLs
2025-04-15 13:48:24 +0200 <ski> ah
2025-04-15 13:48:13 +0200 <Inst> Writer from those packages are liable to be footguns unless you use the CPS variant
2025-04-15 13:47:56 +0200 <Inst> remember to use State.Strict, it's a footgun, unfortunately
2025-04-15 13:47:44 +0200 <Inst> if you use State monad from mtl or transformer package
2025-04-15 13:47:40 +0200 <ski> (also `Codensity', and one `IO'-specific that i don't recall the name of, atm)
2025-04-15 13:47:36 +0200 <Inst> tbh many of the monad transformers have been problematic
2025-04-15 13:46:12 +0200 <ski> which is what `Cont' does
2025-04-15 13:46:07 +0200 <ski> CPS is Continuation-Passing Style
2025-04-15 13:46:00 +0200 <haskellbridge> <ozkutuk> bwe: https://williamyaoh.com/posts/2022-05-02-the-cont-monad.html
2025-04-15 13:45:56 +0200 <ski> no
2025-04-15 13:45:50 +0200 <ski> right. i know that post from <http://blog.sigfpe.com/2008/12/mother-of-all-monads.html>
2025-04-15 13:44:49 +0200 <bwe> so, CPS, Cont, Reader, Writer, State, in that order?
2025-04-15 13:44:36 +0200 <bwe> what's CPS?
2025-04-15 13:44:22 +0200 <bwe> Liamzee: I cannot find such hint, though he discusses different loggers
2025-04-15 13:42:41 +0200 <ski> ah, this is by dpiponi
2025-04-15 13:42:00 +0200 <ski> wasn't there a dpiponi blag on that ?
2025-04-15 13:41:41 +0200 <haskellbridge> <Liamzee> https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/the-mother-of-all-m…
2025-04-15 13:41:26 +0200 <ski> .. i already knew about CPS, before i learned about `Cont', though
2025-04-15 13:41:04 +0200 <haskellbridge> <Liamzee> this is _A_ monad tutorial for cont, not necessarily the best one
2025-04-15 13:40:57 +0200 <lambdabot> http://www.haskell.org/haskellwiki/All_About_Monads
2025-04-15 13:40:57 +0200 <ski> @where AAM
2025-04-15 13:40:53 +0200 <ski> also
2025-04-15 13:40:48 +0200 <lambdabot> http://www.haskell.org/haskellwiki/Typeclassopedia
2025-04-15 13:40:48 +0200 <ski> @where Typeclassopedia
2025-04-15 13:40:39 +0200 <ski> i assume you checked
2025-04-15 13:40:33 +0200 <ski> i don't really recall what tutorials cover which ones
2025-04-15 13:39:42 +0200 <haskellbridge> <Liamzee> hum
2025-04-15 13:39:29 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-04-15 13:39:29 +0200Inst(~Inst@user/Inst) Inst
2025-04-15 13:39:09 +0200 <bwe> [exa] & ski: can you recommend a tutorial for Cont?
2025-04-15 13:38:30 +0200 <haskellbridge> <Liamzee> does he mention "don't use any writer but CPS, and it's considered better practice to use a logging library instead of writer these days?"
2025-04-15 13:38:14 +0200[exa]is still missing a monad tutorial that starts with Cont and iteratively brings order to the utter chaos
2025-04-15 13:38:10 +0200 <haskellbridge> <Liamzee> I don't have Bragilevsky's book with me :(
2025-04-15 13:37:21 +0200 <ski> (preferably a little bit about type classes, and how instances work, too)
2025-04-15 13:36:40 +0200 <ski> you'd need to undestand higher-order functions (and polymorphism, and probably at least a little bit about parameterized data types) before understanding the definition of `(>>=)', for `Reader r',`State s' (not to mention `Cont o')
2025-04-15 13:35:09 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-15 13:33:19 +0200 <bwe> ski: can you elaborate?
2025-04-15 13:31:47 +0200tromp(~textual@2001:1c00:3487:1b00:2562:1865:ccbe:6e5d)
2025-04-15 13:23:06 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-04-15 13:21:57 +0200 <haskellbridge> <Liamzee> the ++ is unnecessary ;_;
2025-04-15 13:21:54 +0200 <haskellbridge> <Liamzee> this is cruel