free-functors: Free functors, adjoint to functors that forget class constraints.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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.

Properties

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.1.1, 0.6.2, 0.6.3, 0.6.3.1, 0.6.3.2, 0.6.3.3, 0.6.4, 0.6.4.1, 0.6.5, 0.7, 0.7.1, 0.7.2, 0.8, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.9, 1.0, 1.0.1, 1.1, 1.1.1, 1.1.2, 1.2, 1.2.1, 1.2.1
Change log CHANGELOG
Dependencies base (>=4.13 && <4.16), bifunctors (>=5 && <6), comonad (>=5 && <6), contravariant (>=1.5 && <1.6), derive-lifted-instances (>=0.2.2 && <0.3), profunctors (>=5 && <6), template-haskell (>=2.15 && <2.18), transformers (>=0.5 && <0.6) [details]
License BSD-3-Clause
Author Sjoerd Visscher
Maintainer sjoerd@w3future.com
Category Data, Math
Home page https://github.com/sjoerdvisscher/free-functors
Bug tracker https://github.com/sjoerdvisscher/free-functors/issues
Source repo head: git clone git://github.com/sjoerdvisscher/free-functors.git
Uploaded by SjoerdVisscher at 2020-10-05T09:24:25Z

Modules

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees