An Algebraic Theory for Shared-State Concurrency

Yotam Dvir, Ohad Kammar, Ori Lahav

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We present a monadic denotational semantics for a higher-order programming language with shared-state concurrency, i.e. global-state in the presence of interleaving concurrency. Central to our approach is the use of Plotkin and Power’s algebraic effect methodology: designing an equational theory that captures the intended semantics, and proving a monadic representation theorem for it. We use Hyland et al.’s equational theory of resumptions that extends non-deterministic global-state with an operator for yielding to the environment. The representation is based on Brookes-style traces. Based on this representation we define a denotational semantics that is directionally adequate with respect to a standard operational semantics. We use this semantics to justify compiler transformations of interest: redundant access eliminations, each following from a mundane algebraic calculation; while structural transformations follow from reasoning over the monad’s interface.

Original languageEnglish
Title of host publicationProgramming Languages and Systems - 20th Asian Symposium, APLAS 2022, Proceedings
EditorsIlya Sergey
PublisherSpringer Science and Business Media Deutschland GmbH
Pages3-24
Number of pages22
ISBN (Print)9783031210365
DOIs
StatePublished - 2022
Event20th Asian Symposium on Programming Languages and Systems, APLAS 2022 - Auckland, New Zealand
Duration: 5 Dec 20225 Dec 2022

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13658 LNCS

Conference

Conference20th Asian Symposium on Programming Languages and Systems, APLAS 2022
Country/TerritoryNew Zealand
CityAuckland
Period5/12/225/12/22

Keywords

  • Compiler optimisations
  • Compiler transformations
  • Concurrency
  • Denotational semantics
  • Equational theory
  • Monads
  • Program equivalence
  • Program refinement
  • Shared state

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'An Algebraic Theory for Shared-State Concurrency'. Together they form a unique fingerprint.

Cite this