Want to take part in these discussions? Sign in if you have an account, or apply for one below
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
I have added (here) pointer to:
(This edit prompted by discussion in another thread of the same name: here)
This entry deserves a more contentful statement of what “monad transformers” are meant to be.
I guess people really mean something close to: pointed endofunctors on the category $Mnd$ of monads, hence:
For each monad $\mathcal{E}$
a new monad $\mathcal{E}'$
equipped with a monad morphism $t_{\mathcal{E}} \colon \mathcal{E} \to \mathcal{E}'$
(that’s what the Haskell pages seem to define)
and (do people consider this?)
[edit: Only now following the links in the above thread, I am reminded that Sergei Winitzki said just that here. So I’ll go ahead and finally make the edit here…]
added pointer to what I gather are the original articles:
David A. Espinosa, Semantic Lego, PhD thesis, Columbia University (1995) [pdf]
Sheng Liang, Paul Hudak, Mark Jones, Monad transformers and modular interpreters, POPL ’95 (1995) 333–343 [doi:10.1145/199448.199528]
added a section (here)
making explicit the definition of monad transformers by Liang, Hudak & Jones 1995
and then proving that it is equivalent to monad morphisms in the sense of Maranda 1966.
That is, disregarding the naturality issue which Liang et al. seem to rather gloss over. What I am proving is that a natural transformation between monads satisfies their respect for the bind- operation iff it respects the join in the sense of Maranda.
(The statement/proof is evident/immediate, but I haven’t seen it mentioned anywhere before.)
Oh, I see now: Naturality of the transformation is already implied by its respect for return
and bind
. Will edit…
added pointer to:
who cite Liang et al. broadly but then state the compatibility condition in terms of the join.
1 to 9 of 9