| Portability | non-portable |
|---|---|
| Stability | experimental |
| Maintainer | sjoerd@w3future.com |
Data.Category.Kleisli
Description
This is an attempt at the Kleisli category, and the construction of an adjunction for each monad.
Documentation
kleisliId :: (Category ~>, Functor m, Dom m ~ ~>, Cod m ~ ~>) => Monad m -> Obj ~> a -> Kleisli ~> m a aSource
data KleisliAdjF (~>) m whereSource
Constructors
| KleisliAdjF :: Monad m -> KleisliAdjF ~> m |
data KleisliAdjG (~>) m whereSource
Constructors
| KleisliAdjG :: Monad m -> KleisliAdjG ~> m |
kleisliAdj :: (Functor m, Dom m ~ ~>, Cod m ~ ~>, Category ~>) => Monad m -> Adjunction (Kleisli ~> m) ~> (KleisliAdjF ~> m) (KleisliAdjG ~> m)Source