ki: A lightweight structured concurrency library

[ bsd3, concurrency, library ] [ Propose Tags ]

A lightweight structured concurrency library.

For a variant of this API generalized to MonadUnliftIO, see ki-unlifted.

Remember to link your program with -threaded to use the threaded runtime!

[Skip to Readme]


[Index] [Quick Jump]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.1.0,, 0.2.0,, 1.0.0,, (info)
Change log
Dependencies base (>=4.12 && <4.19), containers (>=0.6 && <0.7) [details]
License BSD-3-Clause
Copyright Copyright (C) 2020-2022 Mitchell Rosen, Travis Staton
Author Mitchell Rosen
Maintainer Mitchell Rosen <>, Travis Staton <>
Revised Revision 1 made by mitchellwrosen at 2023-03-13T18:10:43Z
Category Concurrency
Home page
Bug tracker
Source repo head: git clone
Uploaded by mitchellwrosen at 2023-01-25T19:02:32Z
Distributions LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 8 direct, 2 indirect [details]
Downloads 752 total (40 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-01-25 [all 1 reports]

Readme for ki-

[back to package description]
ki ki-unlifted
GitHub CI
Hackage Hackage
Stackage LTS Stackage LTS
Stackage Nightly Stackage Nightly
Dependencies Dependencies


ki is a lightweight structured-concurrency library inspired by many other projects and blog posts:

A previous version of ki also included a mechanism for soft-cancellation/graceful shutdown, which took inspiration from:

However, this feature was removed (perhaps temporarily) because the design of the API was unsatisfactory.


Hackage documentation