Newest at the top
| 2026-06-16 23:06:21 +0000 | <EvanR> | what this gets you can easily be demanded in other languages, many of which are missing fmap in key places |
| 2026-06-16 23:05:59 +0000 | <EvanR> | first try to "explain" Functor |
| 2026-06-16 23:05:21 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-06-16 23:04:39 +0000 | xff0x | (~xff0x@2405:6580:b080:900:f9b3:ddf6:f890:9081) |
| 2026-06-16 23:03:22 +0000 | <raincomplex> | but monads seem particularly tricky |
| 2026-06-16 23:03:12 +0000 | <raincomplex> | it is fascinating to me though. there are plenty of structures in other languages that can be understood easily outside of the language |
| 2026-06-16 23:02:55 +0000 | xff0x | (~xff0x@2405:6580:b080:900:f8bd:50a9:9ed8:decc) (Ping timeout: 276 seconds) |
| 2026-06-16 23:02:39 +0000 | <raincomplex> | maybe my mistake is trying to learn what a monad is without more practice in the language :D |
| 2026-06-16 23:01:59 +0000 | <raincomplex> | magic semicolon |
| 2026-06-16 23:01:44 +0000 | <raincomplex> | one time i tried to translate monads into imperative terminology and arrived at "it's kind of like a statement separator plus magic" |
| 2026-06-16 23:00:23 +0000 | <EvanR> | which eventually is revealed to be an incomplete analogy |
| 2026-06-16 22:59:56 +0000 | <EvanR> | context and container might still have value as a sort of "intuition pump" |
| 2026-06-16 22:58:51 +0000 | <raincomplex> | i'm experienced in programming but a newb in haskell |
| 2026-06-16 22:56:47 +0000 | <EvanR> | raincomplex, hmm context is still this placeholder doing nothing for me. Like imagine a + b. We could call the a part context and + b is a computation with context. Though this context is explicit, just like in haskell FP |
| 2026-06-16 22:53:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-06-16 22:53:39 +0000 | <EvanR> | deriving haskell code starting with an equation and solving for unknowns like it's math |
| 2026-06-16 22:53:14 +0000 | <EvanR> | wow that ertes blog post has a great amount of examples of equational reasoning |
| 2026-06-16 22:51:05 +0000 | <raincomplex> | context that can also compute |
| 2026-06-16 22:47:18 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-06-16 22:44:44 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-06-16 22:36:45 +0000 | <EvanR> | proving any phenomenon can be framed as container |
| 2026-06-16 22:36:30 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-06-16 22:36:03 +0000 | <EvanR> | the monad would chain a IO container that spits out another IO container |
| 2026-06-16 22:35:17 +0000 | <EvanR> | see also "container" where Cale would troll us and say an IO action is a container with a button on it which performs the action and spits out the result value |
| 2026-06-16 22:34:10 +0000 | emmanuelux | (~em@user/emmanuelux) emmanuelux |
| 2026-06-16 22:34:03 +0000 | <EvanR> | so it's really about the collapsing operation and not a hidden resource necessarily |
| 2026-06-16 22:33:32 +0000 | <EvanR> | collapsing a nested Maybe or List computation does something, some people call the nested layers a context, but that seems to be expanding a word to the extreme generic |
| 2026-06-16 22:33:09 +0000 | <monochrom> | Hot take: A context is basically just a monad. |
| 2026-06-16 22:31:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-06-16 22:31:41 +0000 | <EvanR> | or related List monad |
| 2026-06-16 22:31:18 +0000 | <EvanR> | however I don't see how that could explain e.g. the early exit Maybe monad |
| 2026-06-16 22:30:23 +0000 | <EvanR> | and can be combined arbitrarily |
| 2026-06-16 22:30:11 +0000 | <EvanR> | each effect comes with an explicit resource, the rng state, the file handle that is open, whatever is needed to "log" stuff |
| 2026-06-16 22:29:47 +0000 | <raincomplex> | why don't "what's a monad" articles ever lead with "it's context" :D |
| 2026-06-16 22:28:43 +0000 | <raincomplex> | 'context' in the casual sense of some extra information that gets carried along implicitly |
| 2026-06-16 22:28:12 +0000 | <EvanR> | effect systems seem to lean into that |
| 2026-06-16 22:27:09 +0000 | <raincomplex> | is it true that a monad is basically just context |
| 2026-06-16 22:24:29 +0000 | absence | (torgeihe@hildring.pvv.ntnu.no) |
| 2026-06-16 22:21:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2026-06-16 22:18:15 +0000 | <EvanR> | the context is real world, which is deeply magical |
| 2026-06-16 22:16:32 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-06-16 22:12:00 +0000 | Xe | (~Xe@perl/impostor/xe) Xe |
| 2026-06-16 22:06:18 +0000 | machinedgod | (~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod |
| 2026-06-16 22:05:55 +0000 | Axman6 | (~Axman6@user/axman6) (Ping timeout: 245 seconds) |
| 2026-06-16 22:05:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-06-16 22:04:29 +0000 | Xe | (~Xe@perl/impostor/xe) (Ping timeout: 245 seconds) |
| 2026-06-16 22:04:19 +0000 | Axma66174 | (~Axman6@user/axman6) Axman6 |
| 2026-06-16 22:03:53 +0000 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2026-06-16 22:03:01 +0000 | absence | (torgeihe@hildring.pvv.ntnu.no) (Ping timeout: 272 seconds) |
| 2026-06-16 22:01:08 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |