# The free-functors package

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 |
---|---|

Change log | CHANGELOG |

Dependencies | algebraic-classes (==0.6.*), base (==4.8.*), comonad (>=4.0 && <4.3), constraints (>=0.3.2 && <0.5), template-haskell (==2.10.0.*), transformers (>=0.2.0.0 && <0.5), void (>=0.4 && <0.8) |

License | BSD3 |

Author | Sjoerd Visscher |

Maintainer | sjoerd@w3future.com |

Stability | experimental |

Category | Data, Math |

Home page | https://github.com/sjoerdvisscher/free-functors |

Bug tracker | https://github.com/sjoerdvisscher/free-functors/issues |

Source repository | head: git clone git://github.com/sjoerdvisscher/free-functors.git |

Uploaded | Sat Apr 11 17:50:43 UTC 2015 by SjoerdVisscher |

Distributions | NixOS:0.6.4.1 |

Downloads | 2055 total (85 in last 30 days) |

Status | Docs not available [build log] All reported builds failed as of 2015-05-19 [all 2 reports] |

## Modules

*Data**Functor*- Data.Functor.Cofree
- Data.Functor.Free
- Data.Functor.HCofree
- Data.Functor.HFree

## Downloads

- free-functors-0.6.4.1.tar.gz [browse] (Cabal source package)
- Package description (included in the package)

#### Maintainers' corner

For package maintainers and hackage trustees