data-effects-core

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

LTS Haskell 23.19:0.2.0.0
Stackage Nightly 2025-04-30:0.4.2.0
Latest on Hackage:0.4.2.0

See all snapshots data-effects-core appears in

MPL-2.0 licensed by Sayo contributors
Maintained by ymdfield
This version can be pinned in stack with:data-effects-core-0.4.2.0@sha256:ad2b201708a34ce31a8da34d7bdfbcd731e40c8fbf105b997aa615a0fb45ca03,2888
Used by 2 packages in nightly-2025-04-30(full list with versions):

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-core

0.1.0.0 – 2023-09-18

  • Initial public release.

0.2.0.0 – 2024-10-10

  • Remove the type operator for HCont.
  • Rename the terms “instruction” and “signature” to the simpler “FOE” and “HOE”.
  • Support for GHC 9.8.2.

0.4.0.0 – 2025-04-16

  • The new v4 interface.
    • Unified first-order and higher-order effect interfaces.
    • Added a generic Eff carrier type.