Contents
Index
Org.Org.Semantic.HBase.Category.ContinuationPassing
Synopsis
newtype
ContinuationPass
p a =
MkContinuationPass
{
unContinuationPass
:: ((a -> p) -> p)
}
continuationToMap
::
ContinuationPass
p a -> p -> p
mapToContinuation
:: (p -> p) ->
ContinuationPass
p ()
liftContinuationPass
:: (q -> p) -> (p -> q) ->
ContinuationPass
q a ->
ContinuationPass
p a
newtype
ExceptionContinuationPass
p ex a =
MkExceptionContinuationPass
{
unExceptionContinuationPass
:: (
Contextual
(
ContinuationPass
p) (ex -> p) a)
}
unliftECPS
::
MonadStandardReference
m r => (ex -> m ()) ->
ExceptionContinuationPass
(m ()) ex a -> m a
liftExceptionContinuationPass
:: (q -> p) -> (p -> q) ->
ExceptionContinuationPass
q ex a ->
ExceptionContinuationPass
p ex a
runExceptionContinuationPass
:: (ex -> p) -> (a -> p) ->
ExceptionContinuationPass
p ex a -> p
doExceptionContinuationPass
::
ExceptionContinuationPass
p ex p -> p
doMonadExceptionContinuationPass
::
MonadException
ex m =>
ExceptionContinuationPass
(m a) ex a -> m a
Documentation
newtype
ContinuationPass
p a
A continuation-passing monad.
Constructors
MkContinuationPass
unContinuationPass
:: ((a -> p) -> p)
Instances
HasContinuations
p (
ContinuationPass
p)
MonadExit
p (
ContinuationPass
p)
HasReturn
(
ContinuationPass
p)
Functor (
ContinuationPass
p)
FunctorApply
(
ContinuationPass
p)
Monad
(
ContinuationPass
p)
MonadBottom
m =>
MonadBottom
(
ContinuationPass
(m k))
MonadCont
(
ContinuationPass
p)
Monad
m =>
LiftedMonad
m (
ContinuationPass
(m a))
MonadStandardReference
m r =>
StrictlyLiftedMonad
m (
ContinuationPass
(m ()))
MonadStandardReference
m r =>
ReverseLiftedMonad
m (
ContinuationPass
(m ()))
(
MonadStandardReference
m r,
MonadFix
m) =>
MonadFix
(
ContinuationPass
(m ()))
MonadRun
p (
ContinuationPass
p)
continuationToMap
::
ContinuationPass
p a -> p -> p
mapToContinuation
:: (p -> p) ->
ContinuationPass
p ()
liftContinuationPass
:: (q -> p) -> (p -> q) ->
ContinuationPass
q a ->
ContinuationPass
p a
newtype
ExceptionContinuationPass
p ex a
A continuation-passing monad that can handle exceptions of parameterised type 'ex'.
Constructors
MkExceptionContinuationPass
unExceptionContinuationPass
:: (
Contextual
(
ContinuationPass
p) (ex -> p) a)
Instances
MonadThrow
ex (
ExceptionContinuationPass
p ex)
MonadSingleThrow
ex (
ExceptionContinuationPass
p ex)
HasContinuations
p (
ExceptionContinuationPass
p ex)
MonadException
ex (
ExceptionContinuationPass
p ex)
MonadSingleException
ex (
ExceptionContinuationPass
p ex)
Monad
m =>
LiftedMonad
m (
ExceptionContinuationPass
(m a) ex)
(
MonadStandardReference
m r,
MonadThrow
ex m) =>
StrictlyLiftedMonad
m (
ExceptionContinuationPass
(m ()) ex)
(
MonadStandardReference
m r,
MonadThrow
ex m) =>
ReverseLiftedMonad
m (
ExceptionContinuationPass
(m ()) ex)
(
MonadStandardReference
m r,
MonadFix
m) =>
MonadFix
(
ExceptionContinuationPass
(m ()) ex)
MonadRun
(
Result
ex q) (
ExceptionContinuationPass
(
Result
ex q) ex)
MonadExit
p (
ExceptionContinuationPass
p ex)
??? a ex p =>
HasReturn
(
ExceptionContinuationPass
p ex a)
??? a ex p => Functor (
ExceptionContinuationPass
p ex a)
??? a ex p =>
FunctorApply
(
ExceptionContinuationPass
p ex a)
??? a ex p =>
Monad
(
ExceptionContinuationPass
p ex a)
??? a ex p =>
MonadCont
(
ExceptionContinuationPass
p ex a)
??? a ex p =>
MonadBottom
(
ExceptionContinuationPass
p ex a)
MonadGettableReference
m IORef =>
MonadGettableReference
(
ExceptionContinuationPass
(m p) ex) IORef
MonadSettableReference
m IORef =>
MonadSettableReference
(
ExceptionContinuationPass
(m p) ex) IORef
MonadCreatable
m IORef =>
MonadCreatable
(
ExceptionContinuationPass
(m p) ex) IORef
MonadStandardReference
m IORef =>
MonadStandardReference
(
ExceptionContinuationPass
(m p) ex) IORef
unliftECPS
::
MonadStandardReference
m r => (ex -> m ()) ->
ExceptionContinuationPass
(m ()) ex a -> m a
liftExceptionContinuationPass
:: (q -> p) -> (p -> q) ->
ExceptionContinuationPass
q ex a ->
ExceptionContinuationPass
p ex a
runExceptionContinuationPass
:: (ex -> p) -> (a -> p) ->
ExceptionContinuationPass
p ex a -> p
doExceptionContinuationPass
::
ExceptionContinuationPass
p ex p -> p
doMonadExceptionContinuationPass
::
MonadException
ex m =>
ExceptionContinuationPass
(m a) ex a -> m a
Produced by
Haddock
version 0.6