packages feed

free-functors-1.3: free-functors.cabal

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