Skip to main navigation Skip to search Skip to main content

Calculating Compilers for Concurrency

    Research output: Journal Article or Conference Article in JournalJournal articleResearchpeer-review

    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.
    Original languageEnglish
    Article number213
    Conference proceedingsProceedings of the ACM on Programming Languages
    Volume7
    Issue numberICFP
    Pages (from-to)740–767
    Number of pages28
    DOIs
    Publication statusPublished - 31 Aug 2023

    Keywords

    • program calculation
    • choice trees
    • concurrency
    • codensity monad

    Fingerprint

    Dive into the research topics of 'Calculating Compilers for Concurrency'. Together they form a unique fingerprint.

    Cite this