name: free-functors version: 1.3 synopsis: Free functors, adjoint to functors that forget class constraints. description: A free functor is a left adjoint to a forgetful functor. It used to be the case that the only category that was easy to work with in Haskell was Hask itself, so there were no interesting forgetful functors. . But the new ConstraintKinds feature of GHC provides an easy way of creating subcategories of Hask. That brings interesting opportunities for free (and cofree) functors. . The examples directory contains an implementation of non-empty lists as free semigroups, and automata as free actions. The standard example of free higher order functors is free monads, and this definition can be found in Data.Functor.HFree. category: Data, Math license: BSD3 license-file: LICENSE author: Sjoerd Visscher maintainer: sjoerd@w3future.com stability: experimental homepage: https://github.com/sjoerdvisscher/free-functors bug-reports: https://github.com/sjoerdvisscher/free-functors/issues 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 hs-source-dirs: src exposed-modules: Data.Functor.Cofree, Data.Functor.Cofree.Internal, Data.Functor.Free, Data.Functor.Free.Internal, Data.Functor.HCofree, Data.Functor.HFree, Data.Functor.HHCofree, Data.Functor.HHFree default-language: Haskell2010 build-depends: base >= 4.18 && < 4.23, template-haskell >= 2.20 && < 2.25, transformers >= 0.5 && < 0.7, comonad == 5.*, derive-lifted-instances == 0.3.*, contravariant == 1.5.*, bifunctors == 5.*, profunctors == 5.* source-repository head type: git location: https://github.com/sjoerdvisscher/free-functors