categories-1.0.7: Categories

Copyright2008-2012 Edward Kmett
LicenseBSD
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilityportable
Safe HaskellTrustworthy
LanguageHaskell2010

Control.Category.Braided

Description

 

Synopsis

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

Methods

braid :: k (p a b) (p b a) Source

Instances

Braided (->) Either 
Braided (->) (,) 

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

swap :: Symmetric k p => k (p a b) (p b a) Source