115 lines
3.0 KiB
Plaintext
115 lines
3.0 KiB
Plaintext
name: async
|
|
version: 2.2.4
|
|
-- don't forget to update ./changelog.md!
|
|
x-revision: 3
|
|
synopsis: Run IO operations asynchronously and wait for their results
|
|
|
|
description:
|
|
This package provides a higher-level interface over
|
|
threads, in which an @Async a@ is a concurrent
|
|
thread that will eventually deliver a value of
|
|
type @a@. The package provides ways to create
|
|
@Async@ computations, wait for their results, and
|
|
cancel them.
|
|
.
|
|
Using @Async@ is safer than using threads in two
|
|
ways:
|
|
.
|
|
* When waiting for a thread to return a result,
|
|
if the thread dies with an exception then the
|
|
caller must either re-throw the exception
|
|
('wait') or handle it ('waitCatch'); the
|
|
exception cannot be ignored.
|
|
.
|
|
* The API makes it possible to build a tree of
|
|
threads that are automatically killed when
|
|
their parent dies (see 'withAsync').
|
|
|
|
license: BSD3
|
|
license-file: LICENSE
|
|
author: Simon Marlow
|
|
maintainer: Simon Marlow <marlowsd@gmail.com>
|
|
copyright: (c) Simon Marlow 2012
|
|
category: Concurrency
|
|
build-type: Simple
|
|
cabal-version: >=1.10
|
|
homepage: https://github.com/simonmar/async
|
|
bug-reports: https://github.com/simonmar/async/issues
|
|
tested-with:
|
|
GHC == 9.6.1
|
|
GHC == 9.4.4
|
|
GHC == 9.2.7
|
|
GHC == 9.0.2
|
|
GHC == 8.10.7
|
|
GHC == 8.8.4
|
|
GHC == 8.6.5
|
|
GHC == 8.4.4
|
|
GHC == 8.2.2
|
|
GHC == 8.0.2
|
|
GHC == 7.10.3
|
|
GHC == 7.8.4
|
|
GHC == 7.6.3
|
|
GHC == 7.4.2
|
|
GHC == 7.2.2
|
|
GHC == 7.0.4
|
|
|
|
extra-source-files:
|
|
changelog.md
|
|
bench/race.hs
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/simonmar/async.git
|
|
|
|
library
|
|
default-language: Haskell2010
|
|
other-extensions: CPP, MagicHash, RankNTypes, UnboxedTuples
|
|
if impl(ghc>=7.1)
|
|
other-extensions: Trustworthy
|
|
exposed-modules: Control.Concurrent.Async
|
|
build-depends: base >= 4.3 && < 4.19,
|
|
hashable >= 1.1.2.0 && < 1.5,
|
|
stm >= 2.2 && < 2.6
|
|
|
|
test-suite test-async
|
|
default-language: Haskell2010
|
|
type: exitcode-stdio-1.0
|
|
hs-source-dirs: test
|
|
main-is: test-async.hs
|
|
build-depends: base,
|
|
async,
|
|
stm,
|
|
test-framework,
|
|
test-framework-hunit,
|
|
HUnit
|
|
|
|
flag bench
|
|
default: False
|
|
|
|
executable concasync
|
|
if !flag(bench)
|
|
buildable: False
|
|
default-language: Haskell2010
|
|
hs-source-dirs: bench
|
|
main-is: concasync.hs
|
|
build-depends: base, async, stm
|
|
ghc-options: -O2
|
|
|
|
executable conccancel
|
|
if !flag(bench)
|
|
buildable: False
|
|
default-language: Haskell2010
|
|
hs-source-dirs: bench
|
|
main-is: conccancel.hs
|
|
build-depends: base, async, stm
|
|
ghc-options: -O2 -threaded
|
|
|
|
executable race
|
|
if !flag(bench)
|
|
buildable: False
|
|
default-language: Haskell2010
|
|
hs-source-dirs: bench
|
|
main-is: race.hs
|
|
build-depends: base, async, stm
|
|
ghc-options: -O2 -threaded
|