by Samuel Baxter, Arjun Guha, Shriram Krishnamurthi, Rachit Nigam, and Joe Gibbs Politz
Table of Contents¶
- Quick Start
- Runtime System
- Illustrative Examples
- Release Notes
- Stopify will support long-running L programs without freezing the browser tab. In particular, programs can access the DOM and are not limited to Web Workers.
- Stopify can pause or terminate an L program, even if it is an infinite loop.
- Stopify can set breakpoints or single-step through the L program, if C generates source maps.
- Stopify can simulate an arbitrarily deep stack and proper tail calls. This feature is necessary to run certain functional programs in the browser.
- Stopify can simulate blocking operations on the web.
In many cases, it is possible to “blindly” use Stopify by applying it to the output of your compiler. However, Stopify will compile faster, produce faster code, and support more features, if your compiler cooperates with Stopify in particular ways. This manual will guide you through using Stopify with your own compiler.
This manual is a work in progress. Many Stopify features remain undocumented. We will preserve the interfaces documented here in subsequent releases of Stopify.