| Portability | non-portable |
|---|---|
| Stability | experimental |
| Maintainer | sjoerd@w3future.com |
Data.Category
Contents
Description
Category
class Category (~>) whereSource
An instance of Category (~>) declares the arrow (~>) as a category.
Instances
| Category (->) | The category with Haskell types as objects and Haskell functions as arrows. |
| Category Cat |
|
| Category AdjArrow | The category with categories as objects and adjunctions as arrows. |
| Category Mon | The category of all monoids, with monoid morphisms as arrows. |
| Category Boolean |
|
| Category Omega | |
| Category ~> => Category (Op ~>) |
|
| Category (Discrete Z) |
|
| Category (Discrete n) => Category (Discrete (S n)) |
|
| Monoid m => Category (MonoidA m) | A monoid as a category with one object. |
| HasTerminalObject ~> => Category (Peano ~>) | |
| (Category c1, Category c2) => Category (:**: c1 c2) | The product category of category |
| (Category c, Category d) => Category (Nat c d) | Functor category D^C. Objects of D^C are functors from C to D. Arrows of D^C are natural transformations. |
| (Category c1, Category c2) => Category (:++: c1 c2) | The product category of category |
| Category (MonoidAsCategory f m) | |
| (Dom m ~ ~>, Cod m ~ ~>, Category ~>, Functor m) => Category (Kleisli ~> m) | |
| Category (Dialg f g) | |
| (Category (Dom t), Category (Dom s)) => Category (:/\: t s) |
type Obj (~>) a = a ~> aSource
Whenever objects are required at value level, they are represented by their identity arrows.