Affiliation:
1. Catholic University of Rio de Janeiro (PUC--Rio), Rio de Janeiro, RJ
Abstract
This article advocates the revival of coroutines as a convenient general control abstraction. After proposing a new classification of coroutines, we introduce the concept of full asymmetric coroutines and provide a precise definition for it through an operational semantics. We then demonstrate that full coroutines have an expressive power equivalent to one-shot continuations and one-shot delimited continuations. We also show that full asymmetric coroutines and one-shot delimited continuations have many similarities, and therefore present comparable benefits. Nevertheless, coroutines are easier implemented and understood, especially in the realm of procedural languages.
Publisher
Association for Computing Machinery (ACM)
Reference46 articles.
1. Birtwistle G. Dahl O.-J. Myhrhaug B. and Nygaard K. 1980. Simula Begin. Studentlitteratur Sweden. Birtwistle G. Dahl O.-J. Myhrhaug B. and Nygaard K. 1980. Simula Begin. Studentlitteratur Sweden.
2. Representing control in the presence of one-shot continuations
3. Clocksin W. and Mellish C. 1981. Programming in Prolog. Springer. Clocksin W. and Mellish C. 1981. Programming in Prolog. Springer.
Cited by
58 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Specification and Verification for Unrestricted Algebraic Effects and Handling;Proceedings of the ACM on Programming Languages;2024-08-15
2. A Memory-Disaggregated Radix Tree;ACM Transactions on Storage;2024-06-06
3. Temporal Behavior Trees: Robustness and Segmentation;Proceedings of the 27th ACM International Conference on Hybrid Systems: Computation and Control;2024-05-14
4. Typing Requirement Model as Coroutines;IEEE Access;2024
5. Introducing the Kotlin Simulation Library (KSL);2023 Winter Simulation Conference (WSC);2023-12-10