by Samuel Baxter, Arjun Guha, Shriram Krishnamurthi, Rachit Nigam, and Joe Gibbs Politz
Stopify is a JavaScript-to-JavaScript compiler that makes JavaScript a better target language for high-level languages and web-based programming tools. Stopify enhances JavaScript with debugging abstractions, blocking operations, and support for long-running computations.
Suppose you have a compiler C from language L to JavaScript. You can apply Stopify to the output of C and leave C almost entirely unchanged. Stopify will provide the following features:
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.