interruptible-0.1.0.0: interruptible.cabal
-- Initial interruptible.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/
name: interruptible
version: 0.1.0.0
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.
.
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.
homepage: https://sealgram.com/git/haskell/interruptible/
license: BSD3
license-file: LICENSE
author: Marcos Dumay de Medeiros
maintainer: marcos@marcosdumay.com
--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
Control.Monad.Trans.SafeIO
other-modules: Control.Monad.Trans.Interruptible.Class
other-extensions: TypeFamilies
build-depends:
base >=4.7 && <4.9,
transformers,
monad-control,
lifted-base,
either
hs-source-dirs: src
default-language: Haskell2010
Test-suite all
type: detailed-0.9
test-module: Test
hs-source-dirs:
test
build-depends:
base >=4.7 && <5.0,
Cabal >= 1.9.2,
either,
transformers,
interruptible
ghc-options: -Wall -fno-warn-unused-do-bind -fwarn-incomplete-patterns -threaded
default-language: Haskell2010