Portability | portable |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Documentation
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
Braided Hask Either | |
Braided Hask (,) | |
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 Source
If we have a symmetric (co)Monoidal
category, you get the additional law:
swap . swap = id
Symmetric Hask Either | |
Symmetric Hask (,) | |
Symmetric Hask (Const2 t) | |
Symmetric Hask p => Symmetric Hask (Flip p) | |
(Functor f, Symmetric Hask p) => Symmetric Hask (Of f p) | |
(Functor f, Symmetric Hask p) => Symmetric Hask (Biff p f f) | |
(Bifunctor p Hask Hask Hask, Symmetric Hask f, Symmetric Hask g) => Symmetric Hask (Comp p f g) |