Expressive Power of One-Shot Control Operators and Coroutines
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.
Keywords
Cite
@article{arxiv.2509.11901,
title = {Expressive Power of One-Shot Control Operators and Coroutines},
author = {Kentaro Kobayashi and Yukiyoshi Kameyama},
journal= {arXiv preprint arXiv:2509.11901},
year = {2025}
}
Comments
Full version of the paper accepted at APLAS 2025. Includes appendices with proofs. 59 pages