name: algebraic-classes
version: 0.1
synopsis: Conversions between algebraic classes and F-algebras.
description: 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.
homepage: https://github.com/sjoerdvisscher/algebraic-classes
license: BSD3
license-file: LICENSE
author: Sjoerd Visscher
maintainer: sjoerd@w3future.com
category: Data, Generics, Math
build-type: Simple
cabal-version: >=1.8
library
exposed-modules:
Data.Algebra
Data.Algebra.TH
Data.Algebra.Internal
build-depends:
base == 4.6.*
, syb == 0.4.*
, template-haskell == 2.8.0.*