[Haskell-cafe] On finding the right exposition... (Monads)
Viktor Dukhovni
ietf-dane at dukhovni.org
Fri Sep 17 20:50:25 UTC 2021
On Fri, Sep 17, 2021 at 10:29:41PM +0200, Joachim Durchholz wrote:
> > Unsurpsingly, I have a mental model built around sequencing of internal
> > state updates while passing data from one state to use in choosing the
> > next state transition.
>
> I have been finding the Monad expositions misleading - that idea that
> monads are for sequencing or transitions or mutable state always felt
> wrong to me, since the monad laws don't talk about any of these things
> at all.
That's the nature of mental models, they're first approximations with
possible refinements. Yes, there are monads for which State is a poor
analogy. The `Cont` monad comes to mind, one needs to "think different"
when reasoning about `callCC`, `shift` and `reset`
`State` as a mental model for monads captures basic sequencing with
possible internal "effects" well enough to be a reasonable first
approximation. Already with List exploring all possible paths the
fit is not ideal.
--
Viktor.
More information about the Haskell-Cafe
mailing list