Portability | non-portable (rank-2 polymorphism) |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | None |
- newtype Codensity m a = Codensity {
- runCodensity :: forall b. (a -> m b) -> m b
- lowerCodensity :: Monad m => Codensity m a -> m a
- codensityToAdjunction :: Adjunction f g => Codensity g a -> g (f a)
- adjunctionToCodensity :: Adjunction f g => g (f a) -> Codensity g a
- improve :: Functor f => (forall m. MonadFree f m => m a) -> Free f a
Documentation
Codensity | |
|
MonadTrans Codensity | |
(Monad (Codensity m), Functor f, MonadFree f m) => MonadFree f (Codensity m) | |
(Monad (Codensity m), MonadReader r m) => MonadState r (Codensity m) | |
Monad (Codensity f) | |
Functor (Codensity k) | |
(Monad (Codensity v), MonadPlus v) => MonadPlus (Codensity v) | |
Functor (Codensity f) => Applicative (Codensity f) | |
(Applicative (Codensity v), Alternative v) => Alternative (Codensity v) | |
(Monad (Codensity m), MonadIO m) => MonadIO (Codensity m) | |
(Alt (Codensity v), Plus v) => Plus (Codensity v) | |
(Functor (Codensity v), Alt v) => Alt (Codensity v) | |
Functor (Codensity f) => Apply (Codensity f) | |
MonadSpec (Codensity m) |
lowerCodensity :: Monad m => Codensity m a -> m aSource
codensityToAdjunction :: Adjunction f g => Codensity g a -> g (f a)Source
adjunctionToCodensity :: Adjunction f g => g (f a) -> Codensity g aSource