# data-category: Restricted categories

Versions | 0.0.1, 0.0.2, 0.0.3, 0.0.3.1, 0.1.0, 0.2.0, 0.3.0, 0.3.0.1, 0.3.0.2, 0.3.1, 0.3.1.1, 0.4, 0.4.1, 0.5.0, 0.5.1, 0.5.1.0, 0.5.1.1, 0.6.0, 0.6.1, 0.6.2, 0.7 |
---|---|

Dependencies | base (>=3 && <5) [details] |

License | BSD-3-Clause |

Author | Sjoerd Visscher |

Maintainer | sjoerd@w3future.com |

Category | Data |

Home page | http://github.com/sjoerdvisscher/data-category |

Bug tracker | http://github.com/sjoerdvisscher/data-category/issues |

Source repo | head: git clone git://github.com/sjoerdvisscher/data-category.git |

Uploaded | by SjoerdVisscher at Sat Jul 31 22:46:36 UTC 2010 |

Distributions | NixOS:0.7 |

Downloads | 7325 total (70 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.
Therefore the `Category`

class has an associated data type `Obj`

. This which will often also be a GADT.

See the `Monoid`

, `Boolean`

and `Product`

categories for some examples.

## Modules

*Data*- Data.Category
- Data.Category.Adjunction
- Data.Category.Boolean
- Data.Category.Comma
- Data.Category.Dialg
- Data.Category.Discrete
- Data.Category.Functor
- Data.Category.Kleisli
- Data.Category.Limit
- Data.Category.Monoid
- Data.Category.NaturalTransformation
- Data.Category.Omega
- Data.Category.Pair
- Data.Category.Peano
- Data.Category.Product
- Data.Category.Unit
- Data.Category.Void

- Data.Category

[Index]

## Downloads

- data-category-0.2.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)