Portability | non-portable |
---|---|
Stability | experimental |
Maintainer | sjoerd@w3future.com |
Safe Haskell | Safe-Inferred |
Category
An instance of Category k
declares the arrow k
as a category.
Category (->) | The category with Haskell types as objects and Haskell functions as arrows. |
Category Cat |
|
Category Unit |
|
Category Void |
|
Category AdjArrow | The category with categories as objects and adjunctions as arrows. |
Category Boolean |
|
Category Simplex | The (augmented) simplex category is the category of finite ordinals and order preserving maps. |
Category k => Category (Op k) |
|
Category (f (Fix f)) => Category (Fix f) |
|
Category (Kleisli m) | The category of Kleisli arrows. |
(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 directed coproduct category of categories |
(Category c1, Category c2) => Category (:++: c1 c2) | The coproduct category of categories |
Category (MonoidAsCategory f m) | A monoid as a category with one object. |
Category (Dialg f g) | The category of (F,G)-dialgebras. |
(Category (Dom t), Category (Dom s)) => Category (:/\: t s) | The comma category T \downarrow S |
Whenever objects are required at value level, they are represented by their identity arrows.
Opposite category
Category k => Category (Op k) |
|
HasBinaryProducts k => HasBinaryCoproducts (Op k) | Binary products are the dual of binary coproducts. |
HasBinaryCoproducts k => HasBinaryProducts (Op k) | Binary products are the dual of binary coproducts. |
HasTerminalObject k => HasInitialObject (Op k) | Terminal objects are the dual of initial objects. |
HasInitialObject k => HasTerminalObject (Op k) | Terminal objects are the dual of initial objects. |
Category k => CartesianClosed (Presheaves k) | The category of presheaves on a category |