| License | BSD-style (see the file LICENSE) |
|---|---|
| Maintainer | sjoerd@w3future.com |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Data.Category.Cube
Description
The cube category.
Documentation
data Cube :: Type -> Type -> Type where Source #
Constructors
| Z :: Cube Z Z | |
| S :: Cube x y -> Cube (S x) (S y) | |
| Y :: Sign -> Cube x y -> Cube x (S y) | |
| X :: Cube x y -> Cube (S x) y |
Instances
| Category Cube Source # | |
| HasTerminalObject Cube Source # | |
Defined in Data.Category.Cube Associated Types type TerminalObject Cube :: Kind k Source # Methods terminalObject :: Obj Cube (TerminalObject Cube) Source # terminate :: forall (a :: k). Obj Cube a -> Cube a (TerminalObject Cube) Source # | |
| type TerminalObject Cube Source # | |
Defined in Data.Category.Cube | |
Constructors
| Forget |
Constructors
| Add |
Instances
| Functor Add Source # | Ordinal addition is a bifuntor, it concattenates the maps as it were. |
| TensorProduct Add Source # | |
Defined in Data.Category.Cube Methods unitObject :: Add -> Obj (Cod Add) (Unit Add) Source # leftUnitor :: Cod Add ~ k => Add -> Obj k a -> k (Add :% (Unit Add, a)) a Source # leftUnitorInv :: Cod Add ~ k => Add -> Obj k a -> k a (Add :% (Unit Add, a)) Source # rightUnitor :: Cod Add ~ k => Add -> Obj k a -> k (Add :% (a, Unit Add)) a Source # rightUnitorInv :: Cod Add ~ k => Add -> Obj k a -> k a (Add :% (a, Unit Add)) Source # associator :: Cod Add ~ k => Add -> Obj k a -> Obj k b -> Obj k c -> k (Add :% (Add :% (a, b), c)) (Add :% (a, Add :% (b, c))) Source # associatorInv :: Cod Add ~ k => Add -> Obj k a -> Obj k b -> Obj k c -> k (Add :% (a, Add :% (b, c))) (Add :% (Add :% (a, b), c)) Source # | |
| type Cod Add Source # | |
Defined in Data.Category.Cube | |
| type Dom Add Source # | |
| type Unit Add Source # | |
Defined in Data.Category.Cube | |
| type Add :% (S m, n) Source # | |
| type Add :% (Z, n) Source # | |
Defined in Data.Category.Cube | |