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