adjunctions-4.3: Adjunctions and representable functors

Copyright(C) 2011-2013 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
PortabilityMPTCs, fundeps
Safe HaskellSafe
LanguageHaskell98

Control.Monad.Trans.Conts

Contents

Description

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

Continuation passing style

cont :: ((a -> r) -> r) -> Cont r a

runCont :: Cont r a -> (a -> r) -> r

Multiple-continuation passing style

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

Multiple-continuation passing style transformer

newtype ContsT r w m a

Constructors

ContsT 

Fields

runContsT :: w (a -> m r) -> m r
 

Instances

Comonad w => MonadTrans (ContsT r w) 
Comonad w => Monad (ContsT r w m) 
Functor w => Functor (ContsT r w m) 
Comonad w => Applicative (ContsT r w m) 
Comonad w => Apply (ContsT r w m) 

callCC :: Comonad w => ((a -> ContsT r w m b) -> ContsT r w m a) -> ContsT r w m a