License | BSD-style (see the file LICENSE) |
---|---|
Maintainer | sjoerd@w3future.com |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Documentation
data (:**:) :: (* -> * -> *) -> (* -> * -> *) -> * -> * -> * where Source #
(Category c1, Category c2) => Category ((:**:) c1 c2) Source # | The product category of category |
(HasBinaryCoproducts c1, HasBinaryCoproducts c2) => HasBinaryCoproducts ((:**:) c1 c2) Source # | The binary coproduct of the product of 2 categories is the product of their binary coproducts. |
(HasBinaryProducts c1, HasBinaryProducts c2) => HasBinaryProducts ((:**:) c1 c2) Source # | The binary product of the product of 2 categories is the product of their binary products. |
(HasInitialObject c1, HasInitialObject c2) => HasInitialObject ((:**:) c1 c2) Source # | The initial object of the product of 2 categories is the product of their initial objects. |
(HasTerminalObject c1, HasTerminalObject c2) => HasTerminalObject ((:**:) c1 c2) Source # | The terminal object of the product of 2 categories is the product of their terminal objects. |
type InitialObject ((:**:) c1 c2) Source # | |
type TerminalObject ((:**:) c1 c2) Source # | |
type BinaryCoproduct ((:**:) c1 c2) (x1, x2) (y1, y2) Source # | |
type BinaryProduct ((:**:) c1 c2) (x1, x2) (y1, y2) Source # | |