The free-functors package

[Tags:bsd3, library]

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.


Versions 0, 0.1, 0.1.1, 0.1.2, 0.2, 0.3, 0.4, 0.4.1, 0.5, 0.6, 0.6.1,, 0.6.2, 0.6.3,,,, 0.6.4,, 0.6.5, 0.7, 0.7.1, 0.7.2, 0.8
Change log CHANGELOG
Dependencies algebraic-classes (>=0.7 && <0.9), base (>=4.9 && <4.11), bifunctors (==5.*), comonad (==5.*), constraints (==0.9.*), contravariant (==1.4.*), profunctors (==5.*), template-haskell (>=2.11 && <2.13), transformers (==0.5.*) [details]
License BSD3
Author Sjoerd Visscher
Category Data, Math
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Mon Jul 24 18:28:12 UTC 2017 by SjoerdVisscher
Distributions NixOS:0.8
Downloads 4299 total (139 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2017-07-24 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees