On this page...
Current Status
|
 |
The following items remain to do before NJS 0.3.0
(codenamed "Resurrection") will be released:
-
Rewrite the bytecode compiler in C.
The new compiler is complete, but awaiting APIs for assembly output
and assembly parsing. Also, code must be written to use the new
compiler from the library.
-
Rename API calls.
Rename public functions from js_* to njs_*,
structure names from JS* to NJS*, and non-public
functions to njspvt_*.
-
Write ECMA262-3 regexp engine.
Write a regexp engine for ECMA regexps.
-
Rewrite builtin objects with jig.
Rewrite the ECMA builtin objects using jig, the JavaScript
Interface Generator, in order to gain the use of new query and
enumeration methods for builtin objects now defined by the JSVM.
-
Write documentation.
Convert the info documentation into DocBook format, and add sections
on jig and the .jsi format.
The following items remain to do before NJS 0.2.6
(codenamed "Requiem") will be released:
-
Fix implementation issues in current release.
Minor bugs in the 0.2.5 release are being addressed and will be fixed
in the 0.2.6 and later bugfix releases.
The following items remain to do before NJS 0.4.0
(codenamed "Reformation") will be released:
-
Write a Unicode library.
In order to fully comply with ECMA262-3, we need to understand Unicode.
This library is intended to provide such a base for NJS.
-
Rework the virtual machine.
The virtual machine needs to treat functions as first-class datatypes
(i.e. as an object with a [[Call]] property). Also, the handling of
the global object needs to be improved, with the ultimate goal of
being able to have multiple views onto the virtual machine's object
tree rooted at different "global" objects (such as with a
web browser's JavaScript environment).
|