name: algebraic-classes
version: 0.8
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
bug-reports: https://github.com/sjoerdvisscher/algebraic-classes/issues
license: BSD3
license-file: LICENSE
author: Sjoerd Visscher
maintainer: sjoerd@w3future.com
category: Data, Generics, Math
build-type: Simple
cabal-version: >=1.8
extra-source-files:
examples/*.hs
CHANGELOG
library
exposed-modules:
Data.Algebra
Data.Algebra.TH
Data.Algebra.Internal
build-depends:
base == 4.10.*
, syb == 0.7.*
, template-haskell == 2.12.*
source-repository head
type: git
location: git://github.com/sjoerdvisscher/algebraic-classes.git