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