[Haskell-cafe] Re: what is inverse of mzero and return?

Jan-Willem Maessen jmaessen at alum.mit.edu
Mon Jan 24 21:25:54 EST 2005


On Jan 24, 2005, at 8:53 PM, Jorge Adriano Aires wrote:
> And it would say nothing about things like:
> return 4 >> return 5  ==?== return 5
> I can live with it.

I feel obliged to point out (because the repeated references to the 
question are driving me up the wall) that this simple equality holds in 
every monad:

return 4 >> return 5

=== (definition of >>)

return 4 >>= \_ -> return 5

=== (monad laws)

(\_ -> return 5) 4

=== (beta reduction)

return 5

We don't need to know anything about the semantics, etc. of any other 
actions the monad might happen to define.

-Jan-Willem Maessen



More information about the Haskell-Cafe mailing list