data-category-0.3.1.1: Restricted categories

Portabilitynon-portable
Stabilityexperimental
Maintainersjoerd@w3future.com

Data.Category.Product

Description

 

Documentation

data :**: whereSource

Constructors

:**: :: c1 a1 b1 -> c2 a2 b2 -> :**: c1 c2 (a1, a2) (b1, b2) 

Instances

(Category c1, Category c2) => Category (:**: c1 c2)

The product category of category c1 and c2.

(HasTerminalObject c1, HasTerminalObject c2) => HasTerminalObject (:**: c1 c2)

The terminal object of the product of 2 categories is the product of their terminal objects.

(HasInitialObject c1, HasInitialObject c2) => HasInitialObject (:**: c1 c2)

The initial object of the product of 2 categories is the product of their initial objects.

(HasBinaryProducts c1, HasBinaryProducts c2) => HasBinaryProducts (:**: c1 c2) 
(HasBinaryCoproducts c1, HasBinaryCoproducts c2) => HasBinaryCoproducts (:**: c1 c2) 

data Proj1 c1 c2 Source

Constructors

Proj1 

Instances

(Category c1, Category c2) => Functor (Proj1 c1 c2) 

data Proj2 c1 c2 Source

Constructors

Proj2 

Instances

(Category c1, Category c2) => Functor (Proj2 c1 c2) 

data f1 :***: f2 Source

Constructors

f1 :***: f2 

Instances

(Functor f1, Functor f2) => Functor (:***: f1 f2) 

data DiagProd (~>) Source

Constructors

DiagProd 

Instances

data Tuple1 c1 c2 a Source

Constructors

Tuple1 (Obj c1 a) 

Instances

(Category c1, Category c2) => Functor (Tuple1 c1 c2 a1) 

data Tuple2 c1 c2 a Source

Constructors

Tuple2 (Obj c2 a) 

Instances

(Category c1, Category c2) => Functor (Tuple2 c1 c2 a2)