interruptible: Monad transformers that can be run and resumed later, conserving their context.
Given an inner monad and a transformer: > (Monad m, MonadTrans t) If t is an interruptible transformer, it becomes possible to intercalate executions on the t context with executions over the inner monad m by breaking the execution on t and resuming it later.
Interruptible monads implement the
runI function so that, given 'f :: a -> t m b' and
'g :: b -> t m c', 'resume (f >>= g)' is equivalent to 'x -> resume f x >>= resume g'.
That makes it possible to intercalate the execution of different monads, and even to return a monadic context for another function to resume it.
|Versions [faq]||0.1.0.0, 0.1.1.0, 0.1.1.1|
|Dependencies||base (>=4.7 && <4.9), either, lifted-base, monad-control, transformers [details]|
|Author||Marcos Dumay de Medeiros|
|Source repo||head: git clone https://sealgram.com/git/haskell/interruptible/ -b master
this: git clone https://sealgram.com/git/haskell/interruptible/(tag 0.1.1.0)
|Uploaded||by marcosdumay at Sat Apr 2 16:31:22 UTC 2016|
|Downloads||1343 total (55 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
Docs uploaded by user
Build status unknown [no reports yet]
For package maintainers and hackage trustees