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]


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.18), 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 <>
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 688 total (70 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