data-category: Restricted categories

[ bsd3, library, math ] [ Propose Tags ]
Versions 0.0.1, 0.0.2, 0.0.3,, 0.1.0, 0.2.0, 0.3.0,,, 0.3.1,, 0.4, 0.4.1, 0.5.0, 0.5.1,,, 0.6.0, 0.6.1, 0.6.2, 0.7
Dependencies base (>=3 && <5) [details]
License BSD-3-Clause
Author Sjoerd Visscher
Category Data
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by SjoerdVisscher at Sat Oct 16 14:31:47 UTC 2010
Distributions NixOS:0.7
Downloads 7327 total (66 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

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 Monoid, 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.




Maintainer's Corner

For package maintainers and hackage trustees