packages feed

monad-schedule-0.1.2.0: monad-schedule.cabal

cabal-version:      2.4
name:               monad-schedule
version:            0.1.2.0
license:            MIT
license-file:       LICENSE
author:             Manuel Bärenz
maintainer:         programming@manuelbaerenz.de
synopsis:           A new, simple, composable concurrency abstraction.
description:        A monad @m@ is said to allow scheduling if you can pass a number of actions @m a@ to it,
                    and those can be executed at the same time concurrently.
                    You can observe the result of the actions after some time:
                    Some actions will complete first, and the results of these are returned then as a list @'NonEmpty' a@.
                    Other actions are still running, and for these you will receive continuations of type @m a@,
                    which you can further run or schedule to completion as you like.
category:           Concurrency


extra-source-files: CHANGELOG.md

library
  exposed-modules:
      Control.Monad.Schedule.Class
      Control.Monad.Schedule.OSThreadPool
      Control.Monad.Schedule.RoundRobin
      Control.Monad.Schedule.Sequence
      Control.Monad.Schedule.Trans
      Control.Monad.Schedule.Yield
  build-depends:
      base >= 4.13.0 && <= 4.17
    , stm >= 2.5
    , transformers >= 0.5
    , free >= 5.1
    , time-domain >= 0.1
  hs-source-dirs:   src
  default-language: Haskell2010

test-suite test
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
    Trans
    Yield
  hs-source-dirs: test
  build-depends:
      base >= 4.11 && < 5
    , transformers >= 0.5
    , free >= 5.1
    , test-framework >= 0.8
    , test-framework-quickcheck2 >= 0.3
    , test-framework-hunit >= 0.3
    , HUnit >= 1.3
    , QuickCheck >= 2.12
    , monad-schedule
  default-language:    Haskell2010