A low‐cost implementation of coroutines for C

We identify a set of primitive operations supporting coroutines, and demonstrate their usefulness. We then address their implementation in C according to a set of criteria aimed at maintaining simplicity, and achieve a satisfactory compromise between it and effectiveness. Our package for the PDP‐11 under UNIX† allows users of coroutines in C programs to gain access to the primitives via an included definitions file and an object library; no penalty is imposed upon non‐coroutine users.