Abstract
AbstractRunners of algebraic effects, also known as comodels, provide a mathematical model of resource management. We show that they also give rise to a programming concept that models top-level external resources, as well as allows programmers to modularly define their own intermediate “virtual machines”. We capture the core ideas of programming with runners in an equational calculus $$\lambda _{\mathsf {coop}}$$
λ
coop
, which we equip with a sound and coherent denotational semantics that guarantees the linear use of resources and execution of finalisation code. We accompany $$\lambda _{\mathsf {coop}}$$
λ
coop
with examples of runners in action, provide a prototype language implementation in OCaml, as well as a Haskell library based on $$\lambda _{\mathsf {coop}}$$
λ
coop
.
Publisher
Springer International Publishing
Reference36 articles.
1. Ahman, D.: Library Haskell-Coop. Available at https://github.com/danelahman/haskell-coop (2019)
2. Ahman, D., Fournet, C., Hritcu, C., Maillard, K., Rastogi, A., Swamy, N.: Recalling a witness: foundations and applications of monotonic state. PACMPL 2(POPL), 65:1–65:30 (2018)
3. Bauer, A., Pretnar, M.: An effect system for algebraic effects and handlers. Logical Methods in Computer Science 10(4) (2014)
4. Bauer, A., Pretnar, M.: Programming with algebraic effects and handlers. J. Log. Algebr. Meth. Program. 84(1), 108–123 (2015)
5. Bauer, A.: What is algebraic about algebraic effects and handlers? CoRR abs/1807.05923 (2018)
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Effectful Software Contracts;Proceedings of the ACM on Programming Languages;2024-01-05
2. Stream processors and comodels;Logical Methods in Computer Science;2023-01-12
3. When Programs Have to Watch Paint Dry;Lecture Notes in Computer Science;2023
4. Region-based Resource Management and Lexical Exception Handlers in Continuation-Passing Style;Programming Languages and Systems;2022
5. Runners for Interleaving Algebraic Effects;Lecture Notes in Computer Science;2022