cabal-version: 2.4
name: monad-schedule
version: 1.6
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
source-repository head
type: git
location: https://github.com/turion/rhine
common deps
build-depends:
base >=4.16.0 && <4.22,
base-compat >=0.13 && <0.15,
free >=5.1 && <5.3,
operational ^>=0.2.4,
stm ^>=2.5,
time-domain ^>=1.6,
transformers >=0.5 && <0.7,
if flag(dev)
ghc-options: -Werror
ghc-options:
-W
library
import: deps
exposed-modules:
Control.Monad.Schedule.Class
Control.Monad.Schedule.FreeAsync
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:
FreeAsync
Trans
Yield
hs-source-dirs: test
build-depends:
HUnit ^>=1.6,
QuickCheck >=2.14 && <2.16,
generic-arbitrary ^>=1.0,
monad-schedule,
test-framework ^>=0.8,
test-framework-hunit ^>=0.3,
test-framework-quickcheck2 ^>=0.3,
time >=1.9,
default-language: Haskell2010
ghc-options: -threaded
flag dev
description: Enable warnings as errors. Active on ci.
default: False
manual: True