2026/03/11

Newest at the top

2026-03-11 09:39:22 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-03-11 09:39:11 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 244 seconds)
2026-03-11 09:38:58 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-03-11 09:34:39 +0100prdak(~Thunderbi@user/prdak) prdak
2026-03-11 09:33:03 +0100humasect(~humasect@184.151.37.182) (Quit: Leaving...)
2026-03-11 09:26:39 +0100tusko(~uwu@user/tusko) tusko
2026-03-11 09:26:24 +0100tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-03-11 09:24:16 +0100 <oskarw> *that your
2026-03-11 09:24:04 +0100 <oskarw> probie: You forgot that you burritos are wraped on space and are send back to you on Earth
2026-03-11 09:21:39 +0100DigitteknohippieDigit
2026-03-11 09:21:06 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
2026-03-11 09:19:36 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-11 09:19:23 +0100 <Rembane> Hard agree
2026-03-11 09:19:14 +0100 <[exa]> impure
2026-03-11 09:18:27 +0100 <[exa]> people still do pizza and similar hard-to-wrap nonsense
2026-03-11 09:18:16 +0100 <[exa]> I find this useful analogy under-used at meetups
2026-03-11 09:16:51 +0100 <Rembane> Infinite breakfast
2026-03-11 09:16:47 +0100 <Rembane> Gotta have all the burritos
2026-03-11 09:16:42 +0100 <[exa]> burrito filling that spawns more burritos....y u m m y
2026-03-11 09:14:08 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-11 09:13:45 +0100humasect(~humasect@184.151.37.182) humasect
2026-03-11 09:09:13 +0100 <probie> A monad is like a burrito, if you're a weirdo who uses smaller burritos as a filling for bigger burritos
2026-03-11 09:07:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-11 09:03:55 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-03-11 09:02:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-11 08:59:39 +0100humasect(~humasect@184.151.37.182) (Quit: Leaving...)
2026-03-11 08:55:41 +0100 <[exa]> who said that thing with "abstract complex are elucidated by throwing examples at them"
2026-03-11 08:55:20 +0100 <[exa]> +1000 ^
2026-03-11 08:55:19 +0100poscat(~poscat@user/poscat) (Ping timeout: 245 seconds)
2026-03-11 08:54:43 +0100 <ski> mesaoptimizer : do note that most "monad tutorials" out there are bad (unhelpful, hinders comprehension)
2026-03-11 08:53:56 +0100poscat0x04(~poscat@user/poscat) poscat
2026-03-11 08:53:38 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-03-11 08:51:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-11 08:49:37 +0100oskarw(~user@user/oskarw) oskarw
2026-03-11 08:49:34 +0100Digitteknohippie(~user@user/digit) Digit
2026-03-11 08:49:24 +0100Digit(~user@user/digit) (Ping timeout: 256 seconds)
2026-03-11 08:46:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-11 08:46:48 +0100 <Axman6> It's basically how we taught things in the NICTA/Data61/System F FP course - here's a type, here's a function which uses that typew, implement the function that matches that type (hint there is 1/2/infinite ways to do that). Here's another type, here's a function's type: implement the function with that type... Hey, their types look really similar, can we do something with that?
2026-03-11 08:44:57 +0100 <opqdonut> yes, agreed
2026-03-11 08:44:44 +0100 <Axman6> There's a lot of external pressure to explain monads, because they're the big boogie man of Haskell people struggle to understand - but they'd be much better off starting to use things which are monads first, and then see that there's a common interface for them
2026-03-11 08:44:19 +0100 <mesaoptimizer> nor that the laws necessarily hold if you define an instance of the classes
2026-03-11 08:44:07 +0100 <mesaoptimizer> I see. Sure, perhaps I figure it out via learning to be comfortable with actual instances of these type classes. I'll try that. I didn't have the misconception that it was directly related to the category theoretic concepts, of course
2026-03-11 08:43:53 +0100 <humasect> depends where one starts after all
2026-03-11 08:42:46 +0100 <dminuoso> The biggest pedagogic mistake of Haskell.
2026-03-11 08:42:01 +0100 <dminuoso> mesaoptimizer: I mean most individual instances of Applicative/Monad are trivial enough to figure out in a minute or two as long as you have more than a week of programming experience - and that knowledge is likely enough to become competent in Haskell..
2026-03-11 08:40:26 +0100ski. o O ( "How to Replace Failure by a List of Successes: A method for exception handling, backtracking, and pattern matching in lazy functional languages" by Philip Wadler in 1985 at <http://www.rkrishnan.org/files/wadler-1985.pdf> )
2026-03-11 08:40:09 +0100 <humasect> yea; it clicks when it clicks
2026-03-11 08:39:25 +0100 <dminuoso> I'd be willing to bet you can learn Haskell just fine without understanding what Applicative or Monad "are"
2026-03-11 08:38:59 +0100 <dminuoso> irrelevant for learning haskell.
2026-03-11 08:38:57 +0100 <dminuoso> mesaoptimizer: Some of the reasons that Applicative/Monad are difficult to understand are an obscure name and the fact that the pattern they abstract over something that has no "purpose" or "intent", just an observation that there's some things that just follow the same form and laws... I personally think that too much time is lost trying to focus around what they mean because it's almost entirely