GPSEE ("gyspy") - General Purpose SpiderMonkey Embedding Ecosystem

Module Reference

About GPSEE

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:

Module and Module.Class Index

_global_


cgi

gpsee.module.ca.page.cgi - CGI module

cgi.PHPSession


curses

gpsee.module.ca.page.curses - Curses module

curses.Window


Signal

gpsee.module.ca.page.signal - Module to expose POSIX signals to JavaScript.

System

gpsee.module.ca.page.gpsee

Thread

gpsee.module.ca.page.thread - Container for Thread class.

Thread.Thread


VM

gpsee.module.ca.page.vm

Notes about this documentation

The documentation generator we are currently using (jsdoc-toolkit) does not understand GPSEE Modules. As such, some generated terminology may be confusing -- for example, calling modules classes and confusing static and instance class properties. Please read the documentation carefully, and if anything seems a little confusive, think about the logical implementation -- that's probably what's been done.
Documentation generated by JsDoc Toolkit 2.1.0 on Tue May 11 2010 20:54:19 GMT-0400 (EDT)