Data.Monoid

| Haskell Hierarchical Libraries (base package) | Contents | Index
Data.Monoid |
Portability | non-portable (requires extended type classes)
Stability | experimental
Maintainer | libraries@haskell.org
Description
Declaration of the Monoid class, and instances for list and functions. Inspired by the paper Functional Programming with Overloading and Higher-Order Polymorphism, Mark P Jones (http://www.cse.ogi.edu/~mpj/) Advanced School of Functional Programming, 1995.
Synopsis
class Monoid a where
mempty :: a
mappend :: a -> a -> a
mconcat :: [a] -> a
Documentation
class Monoid a where
The monoid class. A minimal complete definition must supply `mempty` and `mappend`, and these should satisfy the monoid laws.
Methods
mempty :: a
Identity of `mappend`
mappend :: a -> a -> a
An associative operation
mconcat :: [a] -> a
Fold a list using the monoid. For most types, the default definition for `mconcat` will be used, but the function is included in the class definition so that an optimized version can be provided for specific types.
Instances
Monoid [a]
Monoid (a -> a)
Monoid ()
Produced by Haddock version 0.6