cabal-version: 2.2 name: supervisors version: 0.1.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.12 library import: shared-opts exposed-modules: Supervisors hs-source-dirs: src/ build-depends: stm ^>=2.5 , containers ^>=0.6 , unliftio ^>=0.2.8 , 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