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