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
Change log CHANGELOG
Dependencies base (==4.10.*), syb (==0.7.*), template-haskell (==2.12.*) [details]
License BSD-3-Clause
Author Sjoerd Visscher
Maintainer sjoerd@w3future.com
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 Mon Jul 24 18:13:22 UTC 2017
Distributions NixOS:0.9.2
Downloads 7683 total (143 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2017-07-24 [all 3 reports]

Modules

  • Data
    • Data.Algebra
      • Data.Algebra.Internal
      • Data.Algebra.TH

Downloads

Maintainer's Corner

For package maintainers and hackage trustees