Copyright | (C) 2011-2013 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | MPTCs, fundeps |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Cont r ~ Contravariant.Adjoint (Op r) (Op r) Conts r ~ Contravariant.AdjointT (Op r) (Op r) ContsT r w m ~ Contravariant.AdjointT (Op (m r)) (Op (m r)) w
Synopsis
- type Cont r = ContsT r Identity Identity
- cont :: ((a -> r) -> r) -> Cont r a
- runCont :: Cont r a -> (a -> r) -> r
- type Conts r w = ContsT r w Identity
- runConts :: Functor w => Conts r w a -> w (a -> r) -> r
- conts :: Functor w => (w (a -> r) -> r) -> Conts r w a
-
newtype
ContsT
r w m a =
ContsT
{
- runContsT :: w (a -> m r) -> m r
- callCC :: Comonad w => ((a -> ContsT r w m b) -> ContsT r w m a) -> ContsT r w m a
Continuation passing style
Multiple-continuation passing style
Multiple-continuation passing style transformer
newtype ContsT r w m a Source #
Instances
Comonad w => MonadTrans ( ContsT r w) Source # | |
Comonad w => Monad ( ContsT r w m) Source # | |
Functor w => Functor ( ContsT r w m) Source # | |
Comonad w => Applicative ( ContsT r w m) Source # | |
Defined in Control.Monad.Trans.Conts pure :: a -> ContsT r w m a Source # (<*>) :: ContsT r w m (a -> b) -> ContsT r w m a -> ContsT r w m b Source # liftA2 :: (a -> b -> c) -> ContsT r w m a -> ContsT r w m b -> ContsT r w m c Source # (*>) :: ContsT r w m a -> ContsT r w m b -> ContsT r w m b Source # (<*) :: ContsT r w m a -> ContsT r w m b -> ContsT r w m a Source # |
|
Comonad w => Apply ( ContsT r w m) Source # | |
Defined in Control.Monad.Trans.Conts |