Context-Dependent Effects and Concurrency in Guarded Interaction Trees


Accepted for publication in TOPLAS Journal Paper
Sergei Stepanenko, Emma Nardino, Virgil Marionneau, Dan Frumin, Amin Timany, and Lars Birkedal. Context-Dependent Effects and Concurrency in Guarded Interaction Trees. Accepted for publication inTOPLAS, November 2026, doi: 10.1145/3861008.
  • Links: DOI arXiv
  • Keywords: Rocq, Iris, denotational semantics, logical relations, control flow operators, continuations, delimited continuations, concurrency
Abstract

Guarded Interaction Trees are a structure and a fully formalized framework for representing higher-order computations with higher-order effects in Rocq. 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 an evaluation 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 Rocq 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. Furthermore, as another contribution, in addition to context-dependent effects, we show how to extend Guarded Interaction Trees with preemptive concurrency. To support implementation and verification of concurrent data structures and algorithms in the presence of preemptive concurrency one requires atomic state modification operations, e.g., compare-and-exchange. We demonstrate how the ability to pass lambda functions as effect inputs allows us to define a single generic atomic state modification effect from which various atomic operations can be derived.

bibtex
@article{10.1145/3861008,
author = {Stepanenko, Sergei and Nardino, Emma and Marionneau, Virgil and Frumin, Dan and Timany, Amin and Birkedal, Lars},
title = {Context-Dependent Effects and Concurrency in Guarded Interaction Trees},
year = {2026},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
issn = {0164-0925},
url = {https://doi.org/10.1145/3861008},
doi = {10.1145/3861008},
note = {Just Accepted},
journal = {ACM Trans. Program. Lang. Syst.},
month = nov,
keywords = {Rocq, Iris, denotational semantics, logical relations, control flow operators, continuations, delimited continuations, concurrency}
}