packages feed

free-functors-1.2: free-functors.cabal

name:                free-functors
version:             1.2
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:       >= 1.10
tested-with:         GHC==9.0.0.20200925, GHC==8.10.2

extra-source-files:
  examples/*.hs
  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.14 && < 4.16,
    template-haskell >= 2.16 && < 2.18,
    transformers == 0.5.*,
    comonad == 5.*,
    derive-lifted-instances >= 0.2.2 && < 0.3,
    contravariant == 1.5.*,
    bifunctors == 5.*,
    profunctors == 5.*


source-repository head
  type:     git
  location: git://github.com/sjoerdvisscher/free-functors.git