stopify
Stopify makes JavaScript a better target language for high-level languages and web-based programming tools
Last updated 8 months ago by lchsam .
BSD-3-Clause · Original npm · Tarball · package.json
$ cnpm install stopify 
SYNC missed versions from official npm registry.

Stopify Build Status

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:

  1. 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.

  2. Stopify can pause or terminate an L program, even if it is an infinite loop.

  3. Stopify can set breakpoints or single-step through the L program, if C generates source maps.

  4. Stopify can simulate an arbitrarily deep stack and proper tail calls. This feature is necessary to run certain functional programs in the browser.

  5. Stopify can simulate blocking operations on the web.

We have tested Stopify with ten languages: (1) C++, (2) Clojure, (3) Dart, (4) Java, (5) JavaScript, (6) OCaml, (7) Pyret, (8) Python, (9) Scheme, and (10) Scala. Some of these are available on the Stopify demo page (www.stopify.org) and the rest are coming soon.

To learn how to use Stopify in your own project, see the Stopify Manual.

For a technical overview of Stopify, see our PLDI 2018 paper Putting in All the Stops: Execution Control for JavaScript.

Current Tags

  • 0.5.4-elementaryJS                                ...           latest (8 months ago)

25 Versions

  • 0.5.4-elementaryJS                                ...           8 months ago
  • 0.6.0                                ...           8 months ago
  • 0.5.3-elementaryJS                                ...           a year ago
  • 0.5.2-elementaryJS                                ...           a year ago
  • 0.5.1-elementaryJS                                ...           a year ago
  • 0.5.0-elementaryJS                                ...           a year ago
  • 0.5.0                                ...           a year ago
  • 0.4.0                                ...           a year ago
  • 0.3.0                                ...           2 years ago
  • 0.2.1                                ...           2 years ago
  • 0.2.0                                ...           2 years ago
  • 0.1.0                                ...           2 years ago
  • 0.0.14                                ...           2 years ago
  • 0.0.13                                ...           2 years ago
  • 0.0.12                                ...           2 years ago
  • 0.0.11                                ...           2 years ago
  • 0.0.10                                ...           2 years ago
  • 0.0.9                                ...           2 years ago
  • 0.0.8                                ...           2 years ago
  • 0.0.7                                ...           2 years ago
  • 0.0.6                                ...           2 years ago
  • 0.0.5                                ...           2 years ago
  • 0.0.4                                ...           2 years ago
  • 0.0.3                                ...           2 years ago
  • 0.0.2                                ...           2 years ago
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 32
Dependencies (18)
Dev Dependencies (21)

Copyright 2014 - 2017 © taobao.org |