Copyright | 2008-2012 Edward Kmett |
---|---|
License | BSD |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Control.Category.Braided
Description
Documentation
class Associative k p => Braided k p where Source #
A braided (co)(monoidal or associative) category can commute the arguments of its bi-endofunctor. Obeys the laws:
associate . braid . associate = second braid . associate . first braid disassociate . braid . disassociate = first braid . disassociate . second braid
If the category is Monoidal the following laws should be satisfied
idr . braid = idl idl . braid = idr
If the category is Comonoidal the following laws should be satisfied
braid . coidr = coidl braid . coidl = coidr
class Braided k p => Symmetric k p Source #
If we have a symmetric (co)Monoidal
category, you get the additional law:
swap . swap = id
Instances
Symmetric ((->) :: Type -> Type -> Type) Either Source # | |
Defined in Control.Category.Braided | |
Symmetric ((->) :: Type -> Type -> Type) (,) Source # | |
Defined in Control.Category.Braided |