packages feed

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