@hackage async2.2.6
Run IO operations asynchronously and wait for their results
Categories
License
BSD-3-Clause
Maintainer
Simon Marlow <marlowsd@gmail.com>
Links
Versions
Installation
Tested Compilers
Dependencies (4)
- base >=4.3 && <4.23
- hashable >=1.1.2.0 && <1.6
- stm >=2.2 && <2.6
- unordered-containers >=0.2 && <0.3 Show all…
Dependents (940)
@hackage/wild-bind-indicator, @hackage/pms-domain-service, @hackage/Cabal, @hackage/nri-redis, @cardano/ouroboros-network, @hackage/opentelemetry-lightstep, Show all…
Package Flags
debug-auto-label
(off by default)
Strictly for debugging as it might have a non-negligible overhead.
Enabling this flag will auto-label the threads spawned by async. Use it to
find where are unlabelled threads spawned in your program (be it your code or
dependency code).
bench(off by default)
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).