GPSEE简介

阅读更多

What is GPSEE?

  • a platform for developing and running CommonJS programs
  • a general-purpose C API for embedding SpiderMonkey + CommonJS
  • a general-purpose C API for adding interoperability between JSAPI projects
  • licensed under the exact same terms as SpiderMonkey (MPL 1.1, GPLv2, LGPL 2.1)
  • pronounced "gypsy"

GPSEE is written and maintained by PageMail, Inc. The primary developers are Wes Garland and Donny Viszneki, however, we are actively looking for contributions from the community! GPSEE is an offshoot of earlier, proprietary research and development at PageMail. That project's primary goal was to create an easy-to-embed JavaScript language interpreter which can be used as glue and configuration logic in large software systems, with interest in the ability to write batch jobs and serve web content.

GPSEE is delivered as one unit, but compromises three main facets:

  1. gsr, the GPSEE Script Runner, which executes CommonJS programs, including via shell-script "shebang" facilities. GPSEE also ships with some sample REPLs (shells), including a CommonJS-enabled version of Mozilla's JS Shell.
  2. GPSEE-core is a group of facilities which allow embedders to load modules, and to use SpiderMonkey's limited-use facilities (e.g. context private storage) without worrying about stepping on other modules' toes. GPSEE-core is designed to be call-compatible withSpiderMonkey, so that it may be turned on and off with a simple header file change.
  3. modules is a directory with "stock" modules, adding functionality to the JavaScript language such as ByteString, ByteArray, POSIX signals, CGI, and FFI (foreign-function interface). The FFI module allows painless wrapping of C functions and datatypes for use in creating new JavaScript modules.

POSIX

GPSEE's FFI module is specifically targeted at reflecting POSIX into JavaScript -- in a way which does not require runtime detection of the underlying architecture or other portability hacks. GPSEE targets the SUSv3 and SVID interface groups.

GPSEE FFI code which uses POSIX functions will run the same on every operating system and CPU, regardless of the underlying implementation. The JavaScript programmer does not need to worry about details like struct layout, pointer sizes, or even whether the interface is defined as a C function or a C pre-processor macro.

Support

GPSEE is provided as-is, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, or fitness for any purpose. We do not guarantee that GPSEE does not infringe upon any patents or copyrights, although we try very hard to insure that it does not.

There is no support for GPSEE. However, you can often find the GPSEE developers on irc://irc.freenode.org/#gpsee, and we're friendly.

Hot Links

  • Latest source tar ball (includes SpiderMonkey): http://www.page.ca/~wes/opensource/gpsee/latest-redir.html
  • Building GPSEE from Sources: Building
  • Running/Writing CommonJS programs: GSR, CommonJS, Modules
  • Embedding GPSEE into other applications: EmbeddingGPSEE
  • Porting from other SpiderMonkey embeddings, see PortingToGPSEE.

你可能感兴趣的:(JavaScript,OpenSource,C,C++,C#)