|
JavaScript 2.0
|
Friday, November 12, 1999
A one-page version of this document is also available.
JavaScript 2.0 is an experimental proposal maintained by waldemar for future changes in the JavaScript language. The eventual language may differ significantly from this proposal, but the goal is to move in the directions indicated here and do so via a coordinated plan rather than adding miscellaneous features ad hoc on a release-by-release basis.
JavaScript is Netscape's implementation of the ECMAScript standard. The development of JavaScript 2.0 is heavily coordinated with the ECMA TC39 modularity subgroup. The intent is to make JavaScript 2.0 and ECMAScript Edition 4 be the same language, and this document will evolve as necessary to accomplish this.
The following are recent major changes in this document:
| Date | Revisions |
|---|---|
| Nov 11, 1999 | Continuing major reorganization of this document.... |
| Nov 5, 1999 | Reorganized the document's structure into chapters. Structured the core language chapter more in the bottom-up style of the ECMAScript standard than in the previous issue-oriented style. Combined and moved rationales and issues into an appendix. Added introduction page. Removed or reworded many obsolete paragraphs throughout the document. |
| Nov 2, 1999 | Modified the parser grammar: added [no line break] constraints, removed version lists after
public keywords, added box and user-defined visibility
keywords, and added named function arguments. |
| Oct 29, 1999 | Revised the execution model based on recent ECMA modularity group discussions. JavaScript 2.0 now has a hybrid execution model instead of a pure dynamic one, which allows for better compatibility with JavaScript 1.5. |
| Oct 20, 1999 | Added throw and try-catch
semantic operators to semantic notation and used them to signal syntax errors detected
by the semantics that would be impossible or too messy to detect in the grammars. Updated formal
description pages to match recent ECMA TC39 subcommittee decisions: eliminated octal numbers and escapes (both in
strings and in regular expressions) to match ECMAScript Edition 3, switched to using the Identifier : TypeExpression
syntax for type declarations, and added local blocks and the local
visibility specifier. Also simplified the parser grammar for definitions and removed the « and »
syntax for regular expression literals. |
| Jul 26, 1999 | Wrote description of semantic notation. Updated grammar
notation page to describe lookahead constraints. Updated regular expression semantics
to match ECMA working group decisions for ECMAScript Edition 3; one of these included changing the behavior of (?=
to not backtrack. |
| Jun 7, 1999 | Revised all grammars and semantics to simplify the grammars. Fixed several errors and omissions in the regular expression
grammar and semantics. Added support for (?=
and (?!. |
| May 16, 1999 | Added regular expression grammar and semantics. |
| May 12, 1999 | Added preliminary Formal Description chapter. |
| Mar 25, 1999 | Added Member Lookup page. Released second draft. |
| Mar 24, 1999 | Added many clarifications, discussion sections, and small changes throughout the pages. |
| Mar 23, 1999 | Rewrote Execution Model page and split it off from the Definitions
page. Added discussion of float to Machine Types. |
| Mar 22, 1999 | Removed numbered versions from the Versions page; added motivation, discussion, and version
aliasing using =. Removed angle brackets < and > from VersionsAndRenames. |
| Mar 16, 1999 | Rewrote Types page. Split off byte, ubyte, short, ushort,
int, uint, long, ulong into an optional Machine
Types library. |
| Feb 18, 1999 | Released first draft. |
Older drafts are also available:
|
Waldemar Horwat Last modified Friday, November 12, 1999 |