jsish
Background
Not logged in

Design and Origin

Jsi is a byte-code oriented interpreter designed for interfacing-with, and embedding-in C.

This makes it very different from Node-js which is a compiler written in C++, and which is not designed to be embedded.

Jsi is C-centric whereas Node is JS-centric. Meaning that with Jsi, the locus of control can resides in C-code.

Although Jsi was originally was based off source from quad-wheel, it is now internally modelled after Tcl.


Glue Language

Like Tcl, Jsi is designed to be used a glue language, where only time critical code is implement as C extensions because:


ECMA Compatibilty

Jsi implements version 5.1 of the Ecma-script 262 standard, with the following deviations:

Extensions include:


Goals

Following are principle goals Jsi:

Note that C-integration is the main priority here, not speed of script execution.

And while compiling as C++ is supported, it is mostly used for integrity checking.


Shortcomings

Following is a partial list of things that are either incomplete or unimplemented:

While some prototype stuff is supported, lovers of object oriented should look elsewhere, as Jsi is intended for straightline code, with few-to-no unnecessary abstractions.


Rational