21 Feb
2006
21 Feb
'06
1:10 a.m.
Hello, On 2/20/06, John Meacham <john@repetae.net> wrote:
I think the problem is that 'mzero' exists, the correct solution seems to be to get rid of the 'mzero' method of MonadPlus. Since haskell is lazy, all Monads have at least the zero of _|_ which can be overriden by 'fail' with a more suitable one. MonadPlus should be about extending monads with an additive operator, there is no need for another concept of zero and it seems to me that is the real issue. mzero can simply be defined as 'fail "mzero"'.
In what sense is _|_ a 'zero'? -iavor