| 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
Instances
| (Dom m ~ (->), Cod m ~ (->), Pointed m) => Pointed (:.: (KleisliAdjG (->) m) (KleisliAdjF (->) m)) |
data KleisliAdjF (~>) m Source
Constructors
| KleisliAdjF m |
Instances
| (Dom m ~ (->), Cod m ~ (->), Pointed m) => Pointed (:.: (KleisliAdjG (->) m) (KleisliAdjF (->) m)) | |
| (Dom m ~ (->), Cod m ~ (->), Monad m) => FunctorA (KleisliAdjF (->) m) a b |
data KleisliAdjG (~>) m Source
Constructors
| KleisliAdjG m |
Instances
| (Dom m ~ (->), Cod m ~ (->), Pointed m) => Pointed (:.: (KleisliAdjG (->) m) (KleisliAdjF (->) m)) | |
| (Dom m ~ (->), Cod m ~ (->), Monad m, FunctorA m a (F m b)) => FunctorA (KleisliAdjG (->) m) a b |
kleisliAdj :: (Monad m, Dom m ~ (->), Cod m ~ (->)) => m -> Adjunction (KleisliAdjF (->) m) (KleisliAdjG (->) m)Source