> I'm not trying to create useful monads (I'm pretty sure they > aren't :), > but understanding the concepts. So, the question remains: > when the monad > laws say that > > (return x) >>= f == f x
The Monad class is just called Monad because it is intended to cover a monad. But it doesn't ensure the laws. That is your sole responsibility. > > what is intended in that "=="? Eq."==" for You can define it to your liking as long as it is commutative. HTH, Markus _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe