Copyright | (c) Henning Thielemann 2009-2010 Mikael Johansson 2006 |
---|---|

Maintainer | numericprelude@henning-thielemann.de |

Stability | provisional |

Portability | Abstract concept of a Monoid. |

Safe Haskell | Safe |

Language | Haskell98 |

Will be used in order to generate type classes for generic algebras.
An algebra is a vector space that also is a monoid.
Should we use the Monoid class from base library
despite its unfortunate method name `mappend`

?

## Synopsis

- class C a where

# Documentation

We expect a monoid to adher to associativity and the identity behaving decently. Nothing more, really.

## Instances

C All Source # | |

C Any Source # | |

C T Source # | |

C (First a) Source # | |

C (Last a) Source # | |

C a => C (Dual a) Source # | |

C (Endo a) Source # | |

C a => C (Sum a) Source # | |

C a => C (Product a) Source # | |

C a => C (T a) Source # | |

Ord a => C (Max a) Source # | |

Ord a => C (Min a) Source # | |

C a => C (LCM a) Source # | |

C a => C (GCD a) Source # | |

C a => C (T a) Source # | |

Ix i => C (T i) Source # | |