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.
|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, 0.6|
|Dependencies||base (==4.8.*), syb (==0.4.*), template-haskell (==2.10.0.*) [details]|
|Category||Data, Generics, Math|
|Source repository||head: git clone git://github.com/sjoerdvisscher/algebraic-functors.git|
|Uploaded||Sat Apr 11 15:47:17 UTC 2015 by SjoerdVisscher|
|Downloads||1987 total (73 in last 30 days)|
|Status||Docs available [build log]|
Last success reported on 2015-09-27 [all 4 reports]
- algebraic-classes-0.6.tar.gz [browse] (Cabal source package)
- Package description (included in the package)
For package maintainers and hackage trustees