higher-order algebraic effects done right for Haskell
Go to file
2023-08-27 22:32:48 +09:00
src [WIP] heftiers and freers 2023-08-27 22:32:48 +09:00
test initial commit. 2023-08-25 13:23:49 +09:00
.gitignore initial commit. 2023-08-25 13:23:49 +09:00
ChangeLog.md initial commit. 2023-08-25 13:23:49 +09:00
CONTRIBUTORS initial commit. 2023-08-25 13:23:49 +09:00
heftier.cabal [WIP] heftiers and freers 2023-08-27 22:32:48 +09:00
LICENSE initial commit. 2023-08-25 13:23:49 +09:00
README.md [WIP] heftiers and freers 2023-08-27 22:32:48 +09:00

Heftier

Heftier, a composition of hefty trees and co-Yoneda, is a higher-order effects version of Freer.

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

inspires this library. Hefty trees, proposed by the above paper, are extensions of free monads, allowing for a straightforward treatment of higher-order effects.

This library provides Heftier monads and Freer monads, encoded into data types in several ways to enable tuning in pursuit of high performance.

Your contributions are welcome!

Contributor License Agreement: When you contribute, please agree to apply the license of this project, LGPL-3.0-or-later, to your work. If you agree, please add your real or pseudonym (e.g., GitHub username) to the list of names in the CONTRIBUTORS file, or please indicate your consent in some other way (e.g., a message in a pull request or by email). At this time, it is even better if there is a digital signature by PGP1 (this is optional). Thank you for your cooperation!