sjoerdvisscher / algebraic-classes

Conversions between algebraic classes and F-algebras.

Home Page:http://hackage.haskell.org/package/algebraic-classes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Conversions between algebraic classes and F-algebras.

http://hackage.haskell.org/package/algebraic-classes

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 100.0%