Runners in Action
Autor: | Andrej Bauer, Danel Ahman |
---|---|
Rok vydání: | 2020 |
Předmět: |
FOS: Computer and information sciences
Code (set theory) Runners Computer science 0102 computer and information sciences 02 engineering and technology Lambda 01 natural sciences algebraic effects Article Denotational semantics 0202 electrical engineering electronic engineering information engineering Algebraic number computer.programming_language Discrete mathematics Computer Science - Programming Languages 020207 software engineering Action (physics) 010201 computation theory & mathematics Core (graph theory) Computer Science::Programming Languages Haskell finalisation comodels Resource management (computing) resources computer Programming Languages (cs.PL) |
Zdroj: | Programming Languages and Systems-29th European Symposium on Programming, ESOP 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25–30, 2020, Proceedings Programming Languages and Systems Lecture Notes in Computer Science Lecture Notes in Computer Science-Programming Languages and Systems Programming Languages and Systems ISBN: 9783030449131 |
ISSN: | 0302-9743 1611-3349 |
DOI: | 10.1007/978-3-030-44914-8_2 |
Popis: | Runners 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}}$, 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}}$ with examples of runners in action, provide a prototype language implementation in OCaml, as well as a Haskell library based on $\lambda_{\mathsf{coop}}$. Comment: ESOP 2020 final version + online appendix |
Databáze: | OpenAIRE |
Externí odkaz: |