On 26 Nov 2007, at 10:48 AM, Henning Thielemann wrote:


I wonder whether it is a typical mistake of beginners
to write 'return' within a do-block (that is, not at the end)
and if it is possible to avoid this mistake by clever typing.
In a proper monad 'return' can be fused with subsequent actions,
and thus it is not necessary within a sequence of actions.
However, although sensible, 'return' is also not required at the end of a block.
Has someone already thought about a replacement for monads?

As has been said, this isn't a big issue, and return is quite useful. Furthermore, I can think of several cases where it would be awkward (to say the least) to dispense with return, and it's an invaluable base case for inductive definitions, e.g. of liftMn (which would have to replace it, I suppose). And besides that, if there is one thing Haskellers believe more than anything else, it must surely be that every associative operator deserves a unit...

jcc


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to