Affiliation:
1. University of Ljubljana, Slovenia
Abstract
We explore asynchronous programming with algebraic effects. We complement their conventional synchronous treatment by showing how to naturally also accommodate asynchrony within them, namely, by decoupling the execution of operation calls into signalling that an operation’s implementation needs to be executed, and interrupting a running computation with the operation’s result, to which the computation can react by installing interrupt handlers. We formalise these ideas in a small core calculus, called λ
æ
. We demonstrate the flexibility of λ
æ
using examples ranging from a multi-party web application, to preemptive multi-threading, to remote function calls, to a parallel variant of runners of algebraic effects. In addition, the paper is accompanied by a formalisation of λ
æ
’s type safety proofs in Agda, and a prototype implementation of λ
æ
in OCaml.
Funder
Air Force Office of Scientific Research
European Commission
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference36 articles.
1. D. Ahman. 2020. Agda formalisation of the ae-calculus. Available at https://github.com/danelahman/aef-agda/releases/ tag/popl-2021. D. Ahman. 2020. Agda formalisation of the ae-calculus. Available at https://github.com/danelahman/aef-agda/releases/ tag/popl-2021.
2. D. Ahman and M. Pretnar. 2020. Software artefact for the POPL 2021 paper "Asynchronous Efects". Available at https: //doi.org/10.5281/zenodo.4072753. 10.5281/zenodo.4072753 D. Ahman and M. Pretnar. 2020. Software artefact for the POPL 2021 paper "Asynchronous Efects". Available at https: //doi.org/10.5281/zenodo.4072753. 10.5281/zenodo.4072753
3. Domains and Lambda-Calculi
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献