data-effects

A basic framework for effect systems based on effects represented by GADTs.

Version on this page:0.3.0.1
LTS Haskell 23.19:0.3.0.1
Stackage Nightly 2024-12-09:0.3.0.1
Latest on Hackage:0.4.2.0

See all snapshots data-effects appears in

data-effects

Hackage Hackage Hackage

A basic framework for a Haskell effect system library based on GADTs-based effect representations with a style that separates first-order effects and higher-order effects.

This library set was created by being separated from the Heftia extensible effects library.

Your contributions are welcome!

Please see CONTRIBUTING.md.

Acknowledgements, citations, and related work

The following is a non-exhaustive list of people and works that have had a significant impact, directly or indirectly, on its design and implementation:

Changes

Revision history for data-effects

0.1.1.0 – 2024-09-01

  • Added ‘Timer’ effects.
  • Added convenience functions for error handling with the Except effect.

0.2.0.0 – 2024-10-10

  • Support for the core version upgrade to 0.2.
    • Support for GHC 9.8.2.
  • Changed Shift/Reset and Provider effects to unlift form, making all effects HFunctor.
  • Renamed the ‘Coroutine’ constructor (incorrect) of the ‘Status’ type in coroutines to ‘Continue’.

0.3.0.0 – 2024-11-03

  • Added parallelism effects.
  • Added an effect for the co-log logging.
  • Generalize the ‘Provider’ effect.

0.3.0.1 – 2024-11-03

  • Fixed build error for GHC 9.4.1.