Portability | non-portable |
---|---|
Stability | experimental |
Maintainer | sjoerd@w3future.com |
Safe Haskell | Safe-Inferred |
This is an attempt at the Kleisli category, and the construction of an adjunction for each monad.
Documentation
data KleisliAdjF m Source
KleisliAdjF (Monad m) |
(Functor m, ~ (* -> * -> *) (Dom m) k, ~ (* -> * -> *) (Cod m) k) => Functor (KleisliAdjF m) |
data KleisliAdjG m Source
KleisliAdjG (Monad m) |
(Functor m, ~ (* -> * -> *) (Dom m) k, ~ (* -> * -> *) (Cod m) k) => Functor (KleisliAdjG m) |
kleisliAdj :: (Functor m, Dom m ~ k, Cod m ~ k) => Monad m -> Adjunction (Kleisli m) k (KleisliAdjF m) (KleisliAdjG m)Source