Portability  nonportable 

Stability  experimental 
Maintainer  sjoerd@w3future.com 
Safe Haskell  SafeInferred 
Documentation
(Category c1, Category c2) => Category (:++: c1 c2)  The coproduct category of categories 
(HasColimits i k, HasColimits j k, HasBinaryCoproducts k) => HasColimits (:++: i j) k  If 
(HasLimits i k, HasLimits j k, HasBinaryProducts k) => HasLimits (:++: i j) k  If 
f1 :+++: f2 
data CodiagCoprod k Source
Category k => Functor (CodiagCoprod k) 

I1A :: c1 a1 b1 > :>>: c1 c2 (I1 a1) (I1 b1)  
I12 :: Obj c1 a > Obj c2 b > :>>: c1 c2 (I1 a) (I2 b)  
I2A :: c2 a2 b2 > :>>: c1 c2 (I2 a2) (I2 b2) 
(Category c1, Category c2) => Category (:>>: c1 c2)  The directed coproduct category of categories 
(HasBinaryCoproducts c1, HasBinaryCoproducts c2) => HasBinaryCoproducts (:>>: c1 c2)  
(HasBinaryProducts c1, HasBinaryProducts c2) => HasBinaryProducts (:>>: c1 c2)  
(HasInitialObject c1, Category c2) => HasInitialObject (:>>: c1 c2)  The initial object of the direct coproduct of categories is the initial object of the initial category. 
(Category c1, HasTerminalObject c2) => HasTerminalObject (:>>: c1 c2)  The terminal object of the direct coproduct of categories is the terminal object of the terminal category. 
(HasTerminalObject (:>>: i j), Category k) => HasColimits (:>>: i j) k  The colimit of any diagram with a terminal object, has the limit at the terminal object. 
(HasInitialObject (:>>: i j), Category k) => HasLimits (:>>: i j) k  The limit of any diagram with an initial object, has the limit at the initial object. 
data NatAsFunctor f g Source
NatAsFunctor (Nat (Dom f) (Cod f) f g) 