From ed1a8c2e37d94fa6677f10cb7dcc2c348ce9c0bb Mon Sep 17 00:00:00 2001 From: Ross Paterson Date: Fri, 16 Jan 2009 15:16:24 +0000 Subject: add Monoid laws --- libraries/base/Data/Monoid.hs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'libraries/base/Data/Monoid.hs') diff --git a/libraries/base/Data/Monoid.hs b/libraries/base/Data/Monoid.hs index a0e3b20eff..65e3bb76d7 100644 --- a/libraries/base/Data/Monoid.hs +++ b/libraries/base/Data/Monoid.hs @@ -40,7 +40,17 @@ import Test.QuickCheck -- --------------------------------------------------------------------------- -- | The class of monoids (types with an associative binary operation that --- has an identity). The method names refer to the monoid of lists, +-- has an identity). Instances should satisfy the following laws: +-- +-- * @mempty `mappend` x = x@ +-- +-- * @x `mappend` mempty = x@ +-- +-- * @x `mappend` (y `mappend` z) = (x `mappend` y) `mappend` z@ +-- +-- * @mconcat = 'foldr' mappend mempty@ +-- +-- The method names refer to the monoid of lists under concatenation, -- but there are many other instances. -- -- Minimal complete definition: 'mempty' and 'mappend'. -- cgit v1.2.1