Bryan Donlan wrote:

           evaluate x = (return $! x) >>= return

However, if >>= is strict on its first argument, then this definition is
no better than (return $! x).

According to the monad law

  f >>= return = f

every (>>=) ought to be strict in its first argument, so it indeed seems that the implementation given in the documentation is wrong.


Regards,
apfelmus

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to