Abstract
Choice trees have recently been introduced as a general structure for defining the semantics of programming languages with a wide variety of features and effects. In this article we focus on concurrent languages, and show how a codensity version of choice trees allows the semantics for such languages to be systematically transformed into compilers using equational reasoning techniques. The codensity construction is the key ingredient that enables a high-level, algebraic approach. As a case study, we calculate a compiler for a concurrent lambda calculus with channel-based communication.
Originalsprog | Engelsk |
---|---|
Titel | Proceedings of the ACM on Programming Languages |
Antal sider | 28 |
Vol/bind | 7 |
Udgivelsessted | New York, NY, USA |
Publikationsdato | 31 aug. 2023 |
Sider | 740–767 |
Artikelnummer | 213 |
DOI | |
Status | Udgivet - 31 aug. 2023 |
Emneord
- program calculation
- choice trees
- concurrency
- codensity monad