| Copyright | (C) 2011-2015 Edward Kmett |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Stability | experimental |
| Portability | MPTCs, GADTs |
| Safe Haskell | Trustworthy |
| Language | Haskell98 |
Data.Semifunctor.Braided
Description
Documentation
class Associative k p => Braided k p where #
Minimal complete definition
kleisliBraid :: (Monad m, Semifunctor p (Product (Kleisli m) (Kleisli m)) (Kleisli m), Braided (->) p) => Kleisli m (p '(a, b)) (p '(b, a)) #
class Braided k p => Symmetric k p #
Instances
| (Bind m, Monad m) => Symmetric (Kleisli m :: * -> * -> *) (Bi (,)) # | |
Defined in Data.Semifunctor.Braided | |
| (Bind m, Monad m) => Symmetric (Kleisli m :: * -> * -> *) (Bi Either) # | |
Defined in Data.Semifunctor.Braided | |
| Symmetric ((->) :: * -> * -> *) (Bi Either) # | |
Defined in Data.Semifunctor.Braided | |
| Symmetric ((->) :: * -> * -> *) (Bi (,)) # | |
Defined in Data.Semifunctor.Braided | |