name: algebraic-classes version: 0.10 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: 2.0 tested-with: GHC==9.6.7, GHC==9.8.4, GHC==9.10.3, GHC==9.12.2, GHC==9.14.1 extra-source-files: examples/*.hs extra-doc-files: CHANGELOG library exposed-modules: Data.Algebra Data.Algebra.TH Data.Algebra.Internal build-depends: base >= 4.18 && < 4.23 , syb == 0.7.* , template-haskell >= 2.20 && < 2.25 default-language: Haskell2010 source-repository head type: git location: https://github.com/sjoerdvisscher/algebraic-classes