Safe Haskell | None |
---|---|
Language | Haskell2010 |
Provides a carrier for Resumable
that can, given a handler function, resume the computation that threw an exception.
Synopsis
- runResumable :: (forall x. err x -> m x) -> ResumableC err m a -> m a
- newtype ResumableC err m a = ResumableC {
- runResumableC :: ReaderC (Handler err m) m a
- module Control.Effect.Resumable
Resumable carrier
runResumable :: (forall x. err x -> m x) -> ResumableC err m a -> m a Source #
Run a Resumable
effect, resuming uncaught errors with a given handler.
Note that this may be less efficient than defining a specialized carrier type and instance specifying the handler’s behaviour directly. Performance-critical code may wish to do that to maximize the opportunities for fusion and inlining.
runResumable
f (pure
a) =pure
a
runResumable
f (throwResumable
e) = f e
Since: 0.1.0.0
newtype ResumableC err m a Source #
Since: 0.1.0.0
ResumableC | |
|
Instances
Resumable effect
module Control.Effect.Resumable