What is Stopify?

This is a demo of Stopify, a JavaScript-to-JavaScript compiler that makes it possible for other compilers and Web-based IDEs to gracefully run long-running programs, stop non-terminating programs, support blocking I/O, set breakpoints, and step through code entirely in the browser.

To demonstrate, this demo applies Stopify to the JavaScript output by several existing compilers without making changes to the compilers themselves. We showcase programs that take several seconds to run or run forever. These programs would normally freeze your browser tab, but Stopify keeps this page responsive and let's you gracefully interrupt at any time. For certain languages, Stopify even supports setting breakpoints and single-stepping.

The FAQ and Source Code provide more information and discuss how to use Stopify to enhance your compiler or IDE.