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 |
newtype
ContT
Constructor:
ContT
:: ((c -> b a) -> b a) -> ContT a b c
Fields:
runContT
:: ((c -> b a) -> b a)
Type synonym: Cont a = ContT a Identity