interruptible.cabal 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. -- Initial interruptible.cabal generated by cabal init. For further
  2. -- documentation, see http://haskell.org/cabal/users-guide/
  3. name: interruptible
  4. version: 0.1.0.0
  5. synopsis: Interruptible monad transformers - transformers that can be run and resumed later, conserving their context.
  6. description:
  7. Given an inner monad and a transformer:
  8. > (Monad m, MonadTrans t)
  9. If @t@ is an interruptible transformer, it becomes possible to intercalate executions
  10. on the @t@ context with executions over the inner monad @m@ by breaking the execution
  11. on @t@ and resuming it later.
  12. .
  13. Interruptible monads implement the @runI@ function so that, given @f :: a -> t m b@ and
  14. @g :: b -> t m c@, @runI (f >>= g)@ is equivalent to @\x -> runI f x >>= runI g@.
  15. .
  16. That makes it possible to intercalate the execution of different monads, and even to
  17. return a monadic context for another function to resume it.
  18. homepage: https://sealgram.com/git/haskell/interruptible/
  19. license: BSD3
  20. license-file: LICENSE
  21. author: Marcos Dumay de Medeiros
  22. maintainer: marcos@marcosdumay.com
  23. -- copyright:
  24. category: Control
  25. build-type: Simple
  26. -- extra-source-files:
  27. cabal-version: >=1.10
  28. library
  29. exposed-modules: Control.Monad.Trans.Interruptible, Control.Monad.Trans.Interruptible.Class
  30. -- other-modules:
  31. other-extensions: TypeFamilies
  32. build-depends:
  33. base >=4.7 && <4.9,
  34. transformers,
  35. either
  36. hs-source-dirs: src
  37. default-language: Haskell2010