I'm refocusing. I've decided that I'm going to be using Rhino for future projects. I'm building up other things to support that.
OneMonkey is a set of enhancements to the Mozilla Project's SpiderMonkey JavaScript engine. The makefile pulls a recent check-in of SpiderMonkey
... [More]
from CVS (20070330) and builds it with E4X, optimizations, a small framework for native interfaces, some basic POSIX-like native functions, a framework for custom virtual machines, an interpreter, an JS2XDR compiler and XDR virtual machine, and adds a UCPP-based JavaScript preprocessor. The makefile, support frameworks, OneMonkey Interpreter, Compiler, and Virtual Machine are New BSD-styled licensed, UCPP is licensed under a New BSD-styled license, and SpiderMonkey is licensed under the MPL 1.1 license.
OneMonkey is a set of enhancements to the Google Chromium V8 JavaScript engine. The makefile pulls the most recent revision of V8 from SVN and builds it with a framework for native interfaces, some basic POSIX-like native functions, a framework for custom virtual machines, a JS/CC based preprocessor that implements Windows Scripting Host/JavaScript.Net style preprocessing, and a JS/CC based C2V8 interface compiler.
Scratch that...I need to try to catch a bigger fish, a more utilitarian fish. And I'm finding tools that will let me do that.
OneMonkey is a suite of tools and a class library that will allow you to write portable JavaScript for all scales of programing (Enterprise, Embedded, Systems, Application, Web, Scripting). I'm currently aiming towards supporting the following JavaScript implementations: Google V8, Mozilla Rhino, Mozilla SpiderMonkey/TraceMonkey, Mozilla Tamarin, Mozilla ActionMonkey, JavaScriptCore, Microsoft Windows Script Host, Microsoft JScript.Net, Mono JScript, Parrot/ECMAScript, Parrot/PJS, Parrot/WMLScript, Digital Mars DMDScript, Simple ECMAScript Engine. Initial focus will be on V8, Rhino, and SpiderMonkey/TraceMonkey (in that order). The class library will mimic the JDK Class Hierarchy.
---
TODODefine CLI options Implement command line handling Implement a JSR 118/MIDP 2.0-ish class library See ClassLibraryImplementationProgress Implement non-blocking IO & threading parts setInterval/setTimeout/setUInterval/setUTimeout Implement IO readiness with kqueue/kevent (OSX), sys_epoll (Linux), poll (*nix portable) within NativeInterfaces. non-blocking IO flags sys_clone (Linux)/fork (*nix portable) sendfile Target external classes: SQLite3 (WIP), OpenGL (port from v8-gl TBD), POSIX-ish (TBD), Xlib (maybe), Imlib2 (maybe) Reuse k7, re2c (TBD), php.js (TBD), ucpp (TBD), JS/CC (TBD), Uderscore (TBD). Replace the ridiculous scons/python requirement Start by implementing JS2C.py & macros.py in something else (hopefully js, maybe ucpp) Compile everything in one step (grab pertinent sources from v8, re2c, om) Start hacking [Less]