summaryrefslogtreecommitdiff
path: root/async.cabal
diff options
context:
space:
mode:
Diffstat (limited to 'async.cabal')
-rwxr-xr-xasync.cabal114
1 files changed, 114 insertions, 0 deletions
diff --git a/async.cabal b/async.cabal
new file mode 100755
index 0000000..e7315e5
--- /dev/null
+++ b/async.cabal
@@ -0,0 +1,114 @@
+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