heftia
Version 0.4.0.0 revision 0 uploaded by YamadaRyo.
Package meta
- Synopsis
- higher-order effects done right
- Description
Heftia is an extensible effects library that generalizes "Algebraic Effects and Handlers" to higher-order effects, providing users with maximum flexibility and delivering standard and reasonable speed. In its generalization, the focus is on ensuring predictable results based on simple, consistent semantics, while preserving soundness.
Please refer to the Haddock documentation for usage and semantics. For information on performance, please refer to performance.md.
The library allows the following effects with well-defined semantics:
Coroutines
Non-deterministic computations
This library is inspired by the paper:
Casper Bach Poulsen and Cas van der Rest. 2023. Hefty Algebras: Modular Elaboration of Higher-Order Algebraic Effects. Proc. ACM Program. Lang. 7, POPL, Article 62 (January 2023), 31 pages. https://doi.org/10.1145/3571255
The elaboration approach proposed in the above paper allows for a straightforward treatment of higher-order effects.
Heftia's data structure is an extension of the Freer monad, designed to be theoretically straightforward by eliminating ad-hoc elements.
- Author
- Sayo Koyoneda <ymdfield@outlook.jp>
- Bug reports
- https://github.com/sayo-hs/heftia
- Category
- Control, Monads
- Copyright
- 2023-2024 Sayo Koyoneda 2016 Allele Dev; 2017 Ixperta Solutions s.r.o.; 2017 Alexis King
- Homepage
- n/a
- Maintainer
- Sayo Koyoneda <ymdfield@outlook.jp>
- Package URL
- n/a
- Stability
- n/a