algebraic-classes: Conversions between algebraic classes and F-algebras.

[ bsd3, data, generics, library, math ] [ Propose Tags ]

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.

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 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, 0.9.2, 0.9.3, 0.9.4
Change log CHANGELOG
Dependencies base (>=4.13 && <4.15), syb (>=0.7 && <0.8), template-haskell (>=2.15 && <2.17) [details]
License BSD-3-Clause
Author Sjoerd Visscher
Maintainer sjoerd@w3future.com
Revised Revision 1 made by SjoerdVisscher at 2020-06-12T15:31:50Z
Category Data, Generics, Math
Home page https://github.com/sjoerdvisscher/algebraic-classes
Bug tracker https://github.com/sjoerdvisscher/algebraic-classes/issues
Source repo head: git clone git://github.com/sjoerdvisscher/algebraic-classes.git
Uploaded by SjoerdVisscher at 2020-01-06T14:29:17Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 14869 total (51 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
All reported builds failed as of 2020-01-06 [all 3 reports]