| License | BSD-style (see the file LICENSE) |
|---|---|
| Maintainer | sjoerd@w3future.com |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Category.Kleisli
Description
This is an attempt at the Kleisli category, and the construction of an adjunction for each monad.
Documentation
data KleisliAdjF m Source #
Constructors
| KleisliAdjF (Monad m) |
Instances
| (Functor m, Dom m ~ k, Cod m ~ k) => Functor (KleisliAdjF m) Source # | |
Defined in Data.Category.Kleisli Associated Types type Dom (KleisliAdjF m) :: Type -> Type -> Type Source # type Cod (KleisliAdjF m) :: Type -> Type -> Type Source # type (KleisliAdjF m) :% a :: Type Source # Methods (%) :: KleisliAdjF m -> Dom (KleisliAdjF m) a b -> Cod (KleisliAdjF m) (KleisliAdjF m :% a) (KleisliAdjF m :% b) Source # | |
| type Dom (KleisliAdjF m) Source # | |
Defined in Data.Category.Kleisli | |
| type Cod (KleisliAdjF m) Source # | |
Defined in Data.Category.Kleisli | |
| type (KleisliAdjF m) :% a Source # | |
Defined in Data.Category.Kleisli | |
data KleisliAdjG m Source #
Constructors
| KleisliAdjG (Monad m) |
Instances
| (Functor m, Dom m ~ k, Cod m ~ k) => Functor (KleisliAdjG m) Source # | |
Defined in Data.Category.Kleisli Associated Types type Dom (KleisliAdjG m) :: Type -> Type -> Type Source # type Cod (KleisliAdjG m) :: Type -> Type -> Type Source # type (KleisliAdjG m) :% a :: Type Source # Methods (%) :: KleisliAdjG m -> Dom (KleisliAdjG m) a b -> Cod (KleisliAdjG m) (KleisliAdjG m :% a) (KleisliAdjG m :% b) Source # | |
| type Dom (KleisliAdjG m) Source # | |
Defined in Data.Category.Kleisli | |
| type Cod (KleisliAdjG m) Source # | |
Defined in Data.Category.Kleisli | |
| type (KleisliAdjG m) :% a Source # | |
Defined in Data.Category.Kleisli | |
kleisliAdj :: (Functor m, Dom m ~ k, Cod m ~ k) => Monad m -> Adjunction (Kleisli m) k (KleisliAdjF m) (KleisliAdjG m) Source #