interruptible: Monad transformers that can be run and resumed later, conserving their context.

[ bsd3, control, library ] [ Propose Tags ]

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.

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 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]
License BSD-3-Clause
Author Marcos Dumay de Medeiros
Maintainer marcos@marcosdumay.com
Revised Revision 1 made by marcosdumay at 2016-04-01T21:41:18Z
Category Control
Home page https://sealgram.com/git/haskell/interruptible/
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.0.0)
Uploaded by marcosdumay at 2016-04-01T21:37:19Z
Distributions
Reverse Dependencies 1 direct, 1 indirect [details]
Downloads 2395 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2016-04-01 [all 1 reports]