Portability | non-portable (rank-2 polymorphism) |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | Safe-Infered |
- 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 | |
(Functor f, MonadFree f m) => MonadFree f (Codensity m) | |
MonadReader r m => MonadState r (Codensity m) | |
Monad (Codensity f) | |
Functor (Codensity k) | |
MonadPlus v => MonadPlus (Codensity v) | |
Applicative (Codensity f) | |
Alternative v => Alternative (Codensity v) | |
MonadIO m => MonadIO (Codensity m) | |
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