The JavaScript Collection

This collection provides an implementation of the EcmaScript language
specified by ECMA-262, Edition 3, better known as JavaScript.

For license information, please see the file COPYING.LIB.

INSTALLATION ===================================================================

To use the JavaScript language level, simply install the PLaneT package from the
command-line with `planet -i' (see the PLaneT command-line tool docs).

To use the language level, restart DrScheme and select "JavaScript" from the
"Language..." menu.

DOCUMENTATION ==================================================================

Sorry I don't have any high-level documentation yet. Have you looked
at ECMA-262 Edition 3?

KNOWN LIMITATIONS ==============================================================

- `eval' is not yet implemented
- the `toString' method for functions doesn't produce their source yet
- numbers are probably not entirely faithful to spec
- variables bound in `catch' clauses probably don't work right
  underneath `with' statements
- semantics of `delete' may be wrong for lexically scoped variables
- semantics of exceptions is probably not quite right (cf. the subtle
  issue of try-finally with no catch and a return in the finally)
- regular expressions don't yet work at all
- there are absolutely no compiler optimizations yet -- should be
  spectacularly inefficient
- standard library virtually non-existent
- proper tail recursion is not yet implemented
- needs lots more unit tests
- `let' doesn't work anymore

RELEASE HISTORY ================================================================

Version 0.4

Got rid of unnecessary PLTCOLLECTS hack for testing.
Fixed bugs in sexp and pretty-print due to changed AST types.
Hoisting for ES4 `let' corrected.

Version 0.3

Drastically improved binding implementation.
Addressed serious bugs in implementation of functions.
Began implementation for debug console (still disabled).

Version 0.2

Added newly required `capability-value' to language level interface.
Bug fixed for pretty-printer (thanks to Jay).
Serialized language level settings.
Broke `let'.
(Internally: hoisting for ES4 `let' in place.)

Version 0.1

Initial release.
Implements most of ECMA-262 Edition 3.
Primary limitations:
 Lack of regular expressions
 Lack of standard library
 No reflection or function reification