[Haskell-cafe] Re: A question about "monad laws"

Yitzchak Gale gale at sefer.org
Tue Feb 12 06:47:36 EST 2008

Ben Franksen wrote:
> ...and the Unimo paper[1] explains how to easily write a 'correct' ListT.
> BTW, Unimo is an extreme case of the monad laws holding only w.r.t.
> the 'right' equality, i.e. in the laws m == m' is to be understood as
>   observe_monad m == observe_monad m'
> (and even this '==' is of course /not/ the Eq class method but a semantic
> equality.)
> [1] http://web.cecs.pdx.edu/~cklin/papers/unimo-143.pdf

Are you sure? Maybe I am missing something, but I don't
see any claim that the Unimo ListT satisfies the laws any
more than the old mtl ListT. It looks to me like Unimo is
just an attempt to provide an easier way to create, use,
and understand monads, not a change in their semantics.

ListT-Done-Right could also be defined via the Unimo
framework, and then it would satisfy the monad laws.


More information about the Haskell-Cafe mailing list