# The algebraic-classes package

Algebraic classes are type classes where all the methods return a value of the same type, which is also the class parameter.
Examples from `base` are `Num` and `Monoid`.

F-algebras are functions `f a -> a`, where the functor `f` is called the signature, and the type `a` the carrier.

This package relates these 2 concepts, and can create conversions between the two using Template Haskell. More specifically, it can generate:

signatures from algebraic classes

instances of algebraic classes from F-algebras.

This is useful because type classes are more commonly used in Haskell than F-algebras, but F-algebras are easier to work with, because they are just functions.

- No changelog available

## Properties

Versions | 0, 0.1, 0.2, 0.2.1, 0.3, 0.3.1, 0.3.2, 0.4, 0.5, 0.5.1, 0.5.2 |
---|---|

Dependencies | base (==4.7.*), syb (==0.4.*), template-haskell (==2.9.0.*) |

License | BSD3 |

Author | Sjoerd Visscher |

Maintainer | sjoerd@w3future.com |

Category | Data, Generics, Math |

Home page | https://github.com/sjoerdvisscher/algebraic-classes |

Bug tracker | https://github.com/sjoerdvisscher/algebraic-classes/issues |

Upload date | Wed Apr 9 19:03:23 UTC 2014 |

Uploaded by | SjoerdVisscher |

Downloads | 831 total (45 in last 30 days) |

## Modules

*Data*- Data.Algebra
- Data.Algebra.Internal
- Data.Algebra.TH

- Data.Algebra

## Downloads

- algebraic-classes-0.5.2.tar.gz [browse] (Cabal source package)
- Package description (included in the package)

#### Maintainers' corner

For package maintainers and hackage trustees