Expressive Power of One-Shot Control Operators and Coroutines

📅 2025-09-15
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This paper rigorously characterizes the expressivity differences among one-shot control operators—including exceptions, effect handlers, delimited continuations, and asymmetric coroutines. Using Felleisen’s macro-expressibility framework, we employ macro translations, operational semantics, and contextual equivalence to formally establish, for the first time, that asymmetric coroutines macro-express a class of one-shot effect handlers and delimited control operators, but the converse does not hold—correcting a key flaw in prior informal arguments. Our work constructs the first complete expressivity hierarchy for one-shot control operators, precisely delineating relative expressive boundaries among them. This hierarchy provides foundational insights for programming language design and effect system theory.

Technology Category

Application Category

📝 Abstract
Control operators, such as exceptions and effect handlers, provide a means of representing computational effects in programs abstractly and modularly. While most theoretical studies have focused on multi-shot control operators, one-shot control operators -- which restrict the use of captured continuations to at most once -- are gaining attention for their balance between expressiveness and efficiency. This study aims to fill the gap. We present a mathematically rigorous comparison of the expressive power among one-shot control operators, including effect handlers, delimited continuations, and even asymmetric coroutines. Following previous studies on multi-shot control operators, we adopt Felleisen's macro-expressiveness as our measure of expressiveness. We verify the folklore that one-shot effect handlers and one-shot delimited-control operators can be macro-expressed by asymmetric coroutines, but not vice versa. We explain why a previous informal argument fails, and how to revise it to make a valid macro-translation.
Problem

Research questions and friction points this paper is trying to address.

Comparing expressive power of one-shot control operators
Investigating macro-expressiveness relationships between operators
Validating folklore claims about asymmetric coroutines' capabilities
Innovation

Methods, ideas, or system contributions that make the work stand out.

One-shot control operators for computational effects
Macro-expressiveness comparison using Felleisen's framework
Asymmetric coroutines express handlers but not vice versa
🔎 Similar Papers