category-extras-0.53.6: Various modules and constructs inspired by category theoryContentsIndex
Control.Category.Braided
Portabilityportable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Description
Synopsis
class Braided k p where
braid :: k (p a b) (p b a)
class Braided k p => Symmetric k p
swap :: Symmetric k p => k (p a b) (p b a)
Documentation
class Braided k p where

A braided (co)(monoidal or associative) category can commute the arguments of its bi-endofunctor. Obeys the laws:

 idr . braid = idl 
 idl . braid = idr 
 braid . coidr = coidl 
 braid . coidl = coidr 
 associate . braid . associate = second braid . associate . first braid 
 coassociate . braid . coassociate = first braid . coassociate . second braid 
Methods
braid :: k (p a b) (p b a)
show/hide Instances
Braided Hask (Const2 t)
Braided Hask p => Braided Hask (Flip p)
(Functor f, Braided Hask p) => Braided Hask (Of f p)
(Functor f, Braided Hask p) => Braided Hask (Biff p f f)
(Bifunctor p Hask Hask Hask, Braided Hask f, Braided Hask g) => Braided Hask (Comp p f g)
class Braided k p => Symmetric k p

If we have a symmetric (co)Monoidal category, you get the additional law:

 swap . swap = id
show/hide Instances
swap :: Symmetric k p => k (p a b) (p b a)
Produced by Haddock version 2.1.0