algebraic-classes

Conversions between algebraic classes and F-algebras.


Keywords
data, generics, library, math, Propose Tags, , Index, Quick Jump, Data.Algebra, Data.Algebra.Internal, Data.Algebra.TH, algebraic-classes-0.9.4.tar.gz, browse, Package description, revised, metadata revisions, Package maintainers, SjoerdVisscher, edit package information , 0.9, algebraic, algebras, conversion, haskell, signature
License
BSD-3-Clause
Install
cabal install algebraic-classes-0.9.4

Documentation

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.