async: Run IO operations asynchronously and wait for their results

[ bsd3, concurrency, library ] [ Propose Tags ] [ Report a vulnerability ]

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).

Flags

Manual Flags

NameDescriptionDefault
debug-auto-label

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).

Disabled
Automatic Flags
NameDescriptionDefault
benchDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 1.0, 1.1, 1.2, 1.3, 1.4, 2.0.0.0, 2.0.1.0, 2.0.1.1, 2.0.1.2, 2.0.1.3, 2.0.1.4, 2.0.1.5, 2.0.1.6, 2.0.2, 2.1.0, 2.1.1, 2.1.1.1, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 2.2.6
Change log changelog.md
Dependencies async, base (>=4.3 && <4.23), hashable (>=1.1.2.0 && <1.6), stm (>=2.2 && <2.6), unordered-containers (>=0.2 && <0.3) [details]
Tested with ghc ==9.14.1, ghc ==9.12.2, ghc ==9.10.3, ghc ==9.8.4, ghc ==9.6.7, ghc ==9.4.8, ghc ==9.2.8, 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
License BSD-3-Clause
Copyright (c) Simon Marlow 2012
Author Simon Marlow
Maintainer Simon Marlow <marlowsd@gmail.com>
Uploaded by SimonMarlow at 2026-01-07T11:26:16Z
Category Concurrency
Home page https://github.com/simonmar/async
Bug tracker https://github.com/simonmar/async/issues
Source repo head: git clone https://github.com/simonmar/async.git
Distributions Arch:2.2.5, Debian:2.2.2, Fedora:2.2.5, FreeBSD:2.0.2, LTSHaskell:2.2.5, NixOS:2.2.5, Stackage:2.2.6, openSUSE:2.2.5
Reverse Dependencies 595 direct, 5134 indirect [details]
Executables race, conccancel, concasync
Downloads 296163 total (74 in the last 30 days)
Rating 2.75 (votes: 7) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2026-01-07 [all 1 reports]