[Haskell-cafe] Re: What are the MonadPlus laws?
Ashley Yakeley
ashley at semantic.org
Tue Jan 25 23:31:27 EST 2005
In article <F9A40F60-6EFD-11D9-8550-000A95F0ED78 at jellybean.co.uk>,
Jules Bean <jules at jellybean.co.uk> 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
More information about the Haskell-Cafe
mailing list