supervisors-0.2.0.0: supervisors.cabal
cabal-version: 2.2
name: supervisors
version: 0.2.0.0
stability: Experimental
synopsis: Monitor groups of threads with non-hierarchical lifetimes.
description:
The @supervisors@ package provides a useful abstraction for managing the
groups of Haskell threads, which may not have a strictly hierarchical
structure to their lifetimes.
.
Concretely, the library provides a `Supervisor` construct, which can be
used to safely spawn threads while guaranteeing that:
.
* When the supervisor is killed, all of the threads it supervises will be
killed.
* Child threads can terminate in any order, and memory usage will always
be proportional to the number of *live* supervised threads.
.
One way to think of it is that @supervisors@ is to @async@ as
@resourcet@ is to @bracket@.
.
Note that this package is EXPERIMENTAL; it needs more careful testing before
I can earnestly recommend relying on it.
.
See the README and module documentation for more information.
homepage: https://github.com/zenhack/haskell-supervisors
bug-reports: https://github.com/zenhack/haskell-supervisors/issues
license: MIT
license-file: LICENSE
author: Ian Denhardt
maintainer: ian@zenhack.net
copyright: 2018 Ian Denhardt
category: Concurrency
build-type: Simple
extra-source-files:
CHANGELOG.md
, README.md
, .gitignore
common shared-opts
build-depends:
base >=4.11 && <4.13
library
import: shared-opts
exposed-modules: Supervisors
hs-source-dirs: src/
build-depends:
stm ^>=2.5
, containers >=0.5.9 && <0.7
, safe-exceptions ^>= 0.1.7
, async ^>=2.2.1
default-language: Haskell2010
test-suite tests
import: shared-opts
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: tests/
build-depends:
supervisors
, hspec ^>=2.6.0
default-language: Haskell2010
source-repository head
type: git
branch: master
location: https://github.com/zenhack/haskell-supervisors.git