Module Control.Monad.Trans.Cont

Summary of exported operations:

evalContT :: Monad a => ContT b a b -> a b   
mapContT :: (a b -> a b) -> ContT b a c -> ContT b a c   
withContT :: ((a -> b c) -> d -> b c) -> ContT c b d -> ContT c b a   
resetT :: Monad a => ContT b a b -> ContT c a b   
shiftT :: Monad a => ((b -> a c) -> ContT c a c) -> ContT c a b   
liftLocal :: Monad a => a b -> ((b -> b) -> a c -> a c) -> (b -> b) -> ContT c a d -> ContT c a d   
cont :: ((a -> b) -> b) -> ContT b Identity a   
runCont :: ContT a Identity b -> (b -> a) -> a   
evalCont :: ContT a Identity a -> a   
mapCont :: (a -> a) -> ContT a Identity b -> ContT a Identity b   
withCont :: ((a -> b) -> c -> b) -> ContT b Identity c -> ContT b Identity a   
reset :: ContT a Identity a -> ContT b Identity a   
shift :: ((a -> b) -> ContT b Identity b) -> ContT b Identity a   

Exported datatypes:


ContT

Constructor:

  • ContT :: ((c -> b a) -> b a) -> ContT a b c

    Fields:

    • runContT :: ((c -> b a) -> b a)

Cont

Type synonym: Cont a = ContT a Identity


Exported operations:

evalContT :: Monad a => ContT b a b -> a b   

mapContT :: (a b -> a b) -> ContT b a c -> ContT b a c   

withContT :: ((a -> b c) -> d -> b c) -> ContT c b d -> ContT c b a   

resetT :: Monad a => ContT b a b -> ContT c a b   

shiftT :: Monad a => ((b -> a c) -> ContT c a c) -> ContT c a b   

liftLocal :: Monad a => a b -> ((b -> b) -> a c -> a c) -> (b -> b) -> ContT c a d -> ContT c a d   

cont :: ((a -> b) -> b) -> ContT b Identity a   

runCont :: ContT a Identity b -> (b -> a) -> a   

evalCont :: ContT a Identity a -> a   

mapCont :: (a -> a) -> ContT a Identity b -> ContT a Identity b   

withCont :: ((a -> b) -> c -> b) -> ContT b Identity c -> ContT b Identity a   

reset :: ContT a Identity a -> ContT b Identity a   

shift :: ((a -> b) -> ContT b Identity b) -> ContT b Identity a