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:

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 [faq] 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.*), 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 NixOS:0.9.4
Downloads 12622 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user [build log]
All reported builds failed as of 2020-01-06 [all 3 reports]

Modules

[Index] [Quick Jump]

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

For package maintainers and hackage trustees