In article <[EMAIL PROTECTED]>,
 Daniel Fischer <[EMAIL PROTECTED]> wrote:

> from an earlier message of Keean:
> >  1. |mzero >>= f == mzero|
> >  2. |m >>= (\x -> mzero) == mzero|
> >  3. |mzero `mplus` m == m|
> >  4. |m `mplus` mzero == m|
> 
> What exactly does 2. mean in the IO-case?
> a) the results of both calculations are equal
> -- then it also holds for IO.
> b) both produce the same output and the same result
> -- then it doesn't hold for IO.
> I think, a) is the correct interpretation.

I disagree. Clearly (putStrLn "Hello" >> mzero) is not the same as mzero.

-- 
Ashley Yakeley, Seattle WA

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

Reply via email to