Context-Dependent Effects in Guarded Interaction Trees

Sergei Stepanenko*, Emma Nardino, Dan Frumin, Amin Timany, Lars Birkedal

*Corresponding author for this work

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

3 Downloads (Pure)

Abstract

Guarded Interaction Trees are a structure and a fully formalized framework for representing higher-order computations with higher-order effects in Coq. We present an extension of Guarded Interaction Trees to support formal reasoning about context-dependent effects. That is, effects whose behaviors depend on the evaluation context, e.g., call/cc, shift and reset. Using and reasoning about such effects is challenging since certain compositionality principles no longer hold in the presence of such effects. For example, the so-called “bind rule” in modern program logics (which allows one to reason modularly about a term inside a context) is no longer valid. The goal of our extension is to support representation and reasoning about context-dependent effects in the most painless way possible. To that end, our extension is conservative: the reasoning principles (and the Coq implementation) for context-independent effects remain the same. We show that our implementation of context-dependent effects is viable and powerful. We use it to give direct-style denotational semantics for higher-order programming languages with call/cc and with delimited continuations. We extend the program logic for Guarded Interaction Trees to account for context-dependent effects, and we use the program logic to prove that the denotational semantics is adequate with respect to the operational semantics. This is achieved by constructing logical relations between syntax and semantics inside the program logic. Additionally, we retain the ability to combine multiple effects in a modular way, which we demonstrate by showing type soundness for safe interoperability of a programming language with delimited continuations and a programming language with higher-order store.

Original languageEnglish
Title of host publicationProgramming Languages and Systems - 34th European Symposium on Programming, ESOP 2025, Held as Part of the International Joint Conferences on Theory and Practice of Software, ETAPS 2025, Proceedings
EditorsViktor Vafeiadis
PublisherSpringer Science and Business Media Deutschland GmbH
Pages286-313
Number of pages28
ISBN (Print)9783031911200
DOIs
Publication statusPublished - 2025
Event34th European Symposium on Programming, ESOP 2025, which was held as part of the International Joint Conferences on Theory and Practice of Software, ETAPS 2025 - Hamilton, Canada
Duration: 3-May-20258-May-2025

Publication series

NameLecture Notes in Computer Science
Volume15695 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference34th European Symposium on Programming, ESOP 2025, which was held as part of the International Joint Conferences on Theory and Practice of Software, ETAPS 2025
Country/TerritoryCanada
CityHamilton
Period03/05/202508/05/2025

Keywords

  • continuations
  • control flow operators
  • Coq
  • delimited continuations
  • denotational semantics
  • Iris
  • logical relations

Fingerprint

Dive into the research topics of 'Context-Dependent Effects in Guarded Interaction Trees'. Together they form a unique fingerprint.

Cite this