packages feed

monad-schedule-0.1.2.2: monad-schedule.cabal

cabal-version:   2.4
name:            monad-schedule
version:         0.1.2.2
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-doc-files: CHANGELOG.md

tested-with:
  GHC == 8.8.4
  GHC == 8.10.7
  GHC == 9.0.2
  GHC == 9.2.5
  GHC == 9.4.5
  GHC == 9.6.2
  GHC == 9.8.1

source-repository head
  type:     git
  location: https://github.com/turion/monad-schedule

common deps
  build-depends:
    , base          >=4.13.0 && <4.20.0
    , free          >=5.1 && < 5.3
    , stm           ^>=2.5
    , time-domain   ^>=0.1
    , transformers  >=0.5 && < 0.7

library
  import:           deps
  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

  hs-source-dirs:   src
  default-language: Haskell2010

test-suite test
  import:           deps
  type:             exitcode-stdio-1.0
  main-is:          Main.hs
  other-modules:
    Trans
    Yield

  hs-source-dirs:   test
  build-depends:
    , HUnit                       ^>=1.6
    , monad-schedule
    , QuickCheck                  ^>=2.14
    , test-framework              ^>=0.8
    , test-framework-hunit        ^>=0.3
    , test-framework-quickcheck2  ^>=0.3

  default-language: Haskell2010