pith. sign in

arxiv: 1806.01405 · v1 · pith:FLJ3NLRTnew · submitted 2018-06-04 · 💻 cs.PL

On the Soundness of Coroutines with Snapshots

classification 💻 cs.PL
keywords coroutineslambdasnapshotscalculuscontrolflowformalgeneral
0
0 comments X
read the original abstract

Coroutines are a general control flow construct that can eliminate control flow fragmentation inherent in event-driven programs, and are still missing in many popular languages. Coroutines with snapshots are a first-class, type-safe, stackful coroutine model, which unifies many variants of suspendable computing, and is sufficiently general to express iterators, single-assignment variables, async-await, actors, event streams, backtracking, symmetric coroutines and continuations. In this paper, we develop a formal model called $\lambda_{\rightsquigarrow}$ (lambda-squiggly) that captures the essence of type-safe, stackful, delimited coroutines with snapshots. We prove the standard progress and preservation safety properties. Finally, we show a formal transformation from the $\lambda_{\rightsquigarrow}$ calculus to the simply-typed lambda calculus with references.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.