In article <[EMAIL PROTECTED]>,
 Jules Bean <[EMAIL PROTECTED]> wrote:

> So, anyone? What are the laws that MonadPlus is supposed to satisfy?

These are what I think they should be:

  mplus mzero a = a
  mplus a mzero = a
  mplus (mplus a b) c = mplus a (mplus b c)
  mzero >>= a = mzero
  (mplus a b) >>= c = mplus (a >>= c) (b >>= c)

These are what is found in Martin and Gibbons paper, even as they're 
wrong that Maybe can follow them.

<http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/tactics
.pdf>

-- 
Ashley Yakeley, Seattle WA

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

Reply via email to