name: algebraic-classes version: 0.9 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