Sunday, October 22nd, 2006
Dave Herman says:
One of the immediate benefits of this approach will be that our definition will also serve as a reference implementation. LtUers will of course recognize this as the approach of “definitional interpreters”.
Our initial intention was to write a custom specification language that would be tailored to our purposes, with just the right core control features and datatypes to serve as an appropriately abstract model of ECMAScript. But before long, we realized that we were pretty much describing ML. Rather than specifying, implementing, and documenting another programming language that was 80% ML, why reinvent the wheel?
The benefits of this approach are many: a definition in a formal language that itself has a clear and precise definition, the luxury of many robust and high-performance implementations (we’ll be using OCaml extended with first-class continuations), and free “technology transfer” from all the existing ML literature and communities.
And finally, by releasing real software–written in a direct functional style–for reading, type-checking, and evaluating ECMAScript programs, we’ll be providing a standard set of tools for static analysis and other research on the ECMAScript language.
What is going to be in ECMAScript Edition 4? Some proposals are:
- proper tail calls
- iterators and generators
- let expressions
- optional type system
- continuation marks
Posted by Dion Almaer at 12:50 am