Copyright | (c) Edward Kmett 2009 |
---|---|

License | BSD-style |

Maintainer | ekmett@gmail.com |

Stability | experimental |

Portability | portable |

Safe Haskell | Trustworthy |

Language | Haskell98 |

A simple `Monoid`

transformer that takes a `Monoid`

m and produces a new `m`

-Reducer named `Self`

`m`

This is useful when you have a generator that already contains monoidal values or someone supplies
the map to the monoid in the form of a function rather than as a Reducer instance. You can just

or `getSelf`

. `reduce`

in those scenarios. These behaviors are encapsulated
into the `getSelf`

. `mapReduce`

f`fold`

and `foldMap`

combinators in Data.Monoid.Combinators respectively.