|
@@ -3,16 +3,16 @@
|
|
|
|
|
|
name: interruptible
|
|
|
version: 0.1.0.0
|
|
|
-synopsis: Interruptible monad transformers - transformers that can be run and resumed later, conserving their context.
|
|
|
+synopsis: Monad transformers that can be run and resumed later, conserving their context.
|
|
|
description:
|
|
|
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.
|
|
|
+ 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@.
|
|
|
+ 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.
|
|
@@ -21,12 +21,23 @@ license: BSD3
|
|
|
license-file: LICENSE
|
|
|
author: Marcos Dumay de Medeiros
|
|
|
maintainer: marcos@marcosdumay.com
|
|
|
--- copyright:
|
|
|
+--copyright:
|
|
|
category: Control
|
|
|
build-type: Simple
|
|
|
-- extra-source-files:
|
|
|
cabal-version: >=1.10
|
|
|
|
|
|
+source-repository head
|
|
|
+ type: git
|
|
|
+ location: https://sealgram.com/git/haskell/interruptible/
|
|
|
+ branch: master
|
|
|
+
|
|
|
+source-repository this
|
|
|
+ type: git
|
|
|
+ location: https://sealgram.com/git/haskell/interruptible/
|
|
|
+ tag: 0.1.0.0
|
|
|
+
|
|
|
+
|
|
|
library
|
|
|
exposed-modules:
|
|
|
Control.Monad.Trans.Interruptible
|