GPSEE augments Mozilla's SpiderMonkey JavaScript interpreter. Designed to allow modular addition of custom objects and classes without imposing unnecessary interdepencies, GPSEE "knows" how to startup / shutdown a JS interpreter, initialize objects and classes, load and collect modules, multiplex callbacks, run the garbage collector, and so forth.
GPSEE is designed first and foremost as a general-purpose, thread-safe C API, which can be embedded into existing C or C++ projects to allow those projects to take advantage of not only the GPSEE ecosystem, but also the flexibility of expression and speed of development afforded by the JavaScript programming language.
GPSEE supports JavaScript modules consistent with the preliminary work of the serverjs pseudo-wg, and intends to support additional proposals coming out of this group. GPSEE's modules may be implemented in any "native" language (such as C or C++), pure JavaScript, or a script/native blend.
The GPSEE distribution ships with gsr, a script runner which allows GPSEE programs to run like shell scripts, and jsie.js, a full-screen curses JavaScript interactive environment (REPL) written in gsr-hosted JavaScript.
GPSEE is which is licensed to the general public under a disjunctive tri-license giving you the choice of one of the three following sets of free software/open source licensing terms: