data-category

Category theory

http://github.com/sjoerdvisscher/data-category

Latest on Hackage:0.11

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Sjoerd Visscher
Maintained by [email protected]

Data-category is a collection of categories, and some categorical constructions on them.

You can restrict the types of the objects of your category by using a GADT for the arrow type. To be able to proof to the compiler that a type is an object in some category, objects also need to be represented at the value level. The corresponding identity arrow of the object is used for that.

See the Boolean and Product categories for some examples.

Note: Strictly speaking this package defines Hask-enriched categories, not ordinary categories (which are Set-enriched.) In practice this means we are allowed to ignore undefined (f.e. when talking about uniqueness of morphisms), and we can treat the categories as normal categories.