algebraic-classes: Conversions between algebraic classes and F-algebras.
|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, 0.7, 0.7.1, 0.8, 0.9, 0.9.1|
|Dependencies||base (>=4.10 && <4.12), syb (==0.7.*), template‑haskell (>=2.12 && <2.14) [details]|
|Category||Data, Generics, Math|
|Source repo||head: git clone git://github.com/sjoerdvisscher/algebraic-classes.git|
|Uploaded||by SjoerdVisscher at Sun Mar 11 21:11:41 UTC 2018|
|Downloads||5239 total (97 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs available [build log]
Last success reported on 2018-03-11 [all 1 reports]
Hackage Matrix CI
Algebraic classes are type classes where all the methods return a value of the same type, which is also the class parameter.
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.
For package maintainers and hackage trustees