http://github.com/benvie/continuum - project http://benvie.github.com/continuum - debugger npm module 'continuum'
Continuum is a virtual machine for executing ES6 code (the spec is rapidly iterating so many things need updating). It's written in ES3 and targets a baseline of IE8 (debugger included). With a small amount of additional work it could run reliably in engines as old as IE6, but this hasn't been a priority. Almost all ES6 features are supported to some degree: modules, Proxy/Reflect, Map/Set/WeakMap, generators, destructuring/spread/rest/default params, __proto__, classes, Symbols, Typed Arrays/DataView (all features work in any host engine that can run Continuum). The only remaining features which are unimplemented are tail call optimization (incomplete and disabled pending some changes), array comprehensions, generator expressions, and new parts of the binary data API (structs, etc.). Some features are incomplete and potentially buggy, especially ones which are completely new and have a lot of surface area not covered by test262 (proxies, generators especially). I intend to start creating test cases for these features as soon as I finish fixing out the remaining test262 tests that Continuum fails. The engine is currently completely unoptimized so performance is abysmal. I intend to persue optimizations following a strategy similar to how PyPy works, in tracing the interpreter and runtime and creating a JIT "compiler" that compiles with the host engine as the target and asm.js type code as the generated output. This is a parallel to PyPy's usage of RPython -> C. In the process of filling out spec features, I have also been working on a number of special APIs for using information from the runtime for debugging purposes, mocking, and integration with the host environment. I'm also working on the foundation for a development environment built with Continuum as its core. These things may be found in the experimental folder of the repo.
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss