algebraic-classes: Conversions between algebraic classes and F-algebras.
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
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.
Properties
Versions | 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, 0.9.1, 0.9.2, 0.9.3, 0.9.4 |
---|---|
Change log | CHANGELOG |
Dependencies | base (>=4.10 && <4.11), syb (>=0.7 && <0.8), template-haskell (>=2.12 && <2.13) [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 2018-03-03T20:04:42Z |
Modules
[Index]
Downloads
- algebraic-classes-0.9.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees