@hackage ki0.2.0.1

A lightweight, structured-concurrency library

A lightweight, structured-concurrency library.

This package comes in two variants:

  • Ki exposes the most stripped-down variant; start here.

  • Ki.Implicit extends Ki with an implicit context that's used to propagate soft cancellation signals.

Using this variant comes at a cost:

  • You must manually add constraints to propagate the implicit context to where it's needed.

  • To remain warning-free, you must delete the implicit context constraints where they are no longer needed.

If you don't need soft-cancellation, there is no benefit to using this variant, and you should stick with Ki.

Because you'll only ever need one variant at a time, I recommend using a mixin stanza to rename one module to Ki while hiding the others. This also simplifies the process of upgrading from Ki.Implicit to Ki if necessary.

mixins: ki (Ki.Implicit as Ki)