Copyright | (C) 2011-2012 Edward Kmett, |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | MPTCs, GADTs |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
Documentation
class Semifunctor p (Product k k) k => Associative k p where Source
Associative (->) (Bi Either) | |
Associative (->) (Bi (,)) | |
(Bind m, Monad m) => Associative (Kleisli m) (Bi (,)) | |
(Bind m, Monad m) => Associative (Kleisli m) (Bi Either) | |
(Extend m, Comonad m) => Associative (Cokleisli m) (Bi (,)) |
kleisliAssociate :: (Monad m, Semifunctor p (Product (Kleisli m) (Kleisli m)) (Kleisli m), Associative (->) p) => Kleisli m (p (p (a, b), c)) (p (a, p (b, c))) Source
cokleisliAssociate :: (Comonad m, Semifunctor p (Product (Cokleisli m) (Cokleisli m)) (Cokleisli m), Associative (->) p) => Cokleisli m (p (p (a, b), c)) (p (a, p (b, c))) Source
class Semifunctor p (Product k k) k => Disassociative k p where Source
disassociate :: k (p (a, p (b, c))) (p (p (a, b), c)) Source
Disassociative (->) (Bi Either) | |
Disassociative (->) (Bi (,)) | |
(Bind m, Monad m) => Disassociative (Kleisli m) (Bi (,)) | |
(Bind m, Monad m) => Disassociative (Kleisli m) (Bi Either) | |
(Extend m, Comonad m) => Disassociative (Cokleisli m) (Bi (,)) |
kleisliDisassociate :: (Monad m, Semifunctor p (Product (Kleisli m) (Kleisli m)) (Kleisli m), Disassociative (->) p) => Kleisli m (p (a, p (b, c))) (p (p (a, b), c)) Source
cokleisliDisassociate :: (Comonad m, Semifunctor p (Product (Cokleisli m) (Cokleisli m)) (Cokleisli m), Disassociative (->) p) => Cokleisli m (p (a, p (b, c))) (p (p (a, b), c)) Source