categories-1.0.6: Categories

Portabilityportable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellTrustworthy

Control.Category.Braided

Description

 

Synopsis

Documentation

class Associative k p => Braided k p whereSource

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