Hosted by Three Crickets

Scripturian
Scalable Alternative to JSR-223

Scripturian logo: kitten in shawl

Progress Report

Last updated Jun 27, 2015.

JavaScript

Nashorn is fully supported, as of version 1.8.0_40. (Note that Nashorn continues to be under active development even after the official release of Oracle and OpenJDK. You mate track the release at Mercurial repository at "http://hg.openjdk.java.net/jdk8u/jdk8u-dev/nashorn".)

Likewise, Rhino 1.7.6 is fully supported. Note that Oracle and OpenJDK's 7 built-in JavaScript support is a simplified version of Rhino, which may limit the power of Scripturian, so that Mozilla's version is recommended.

Python

Jython 2.7.0 is supported. Jepp 2.4 is supported via its JSR-223 interface, and does not support invocation of entry points.

The former is 100% Java, while the latter uses a Java bridge to a natively compiled CPython of your choice, and is generally more complicated to install and performs poorly.

Ruby

JRuby 1.7.20.1 is supported.

PHP

Quercus 4.0.39 is supported. Note that Quercus license is GPL, which puts limitations on your ability to distribute it with your product.

Note that Scripturian replaces PHP's scriptlet scheme with its own. Usage and performance should be identical, but Scripturian's scheme is more powerful than PHP's, because it allows for mixing languages in one file.

Lua

Luaj 3.0.1 is supported.

Groovy

Groovy 2.4.3 is supported.

Clojure

Clojure 1.6.0 is supported.

The implementation involves creating lightweight namespaces on-the-fly for each execution context. Clojure compilation to JVM bytecode is not supported, but it remains an open question, too, whether this would significantly improve performance. Clojure's highly dynamic nature would make compiled code quite uninteresting. It's likely that the JVM's optimization would work just as well on "interpreted" Clojure.

Succinct

Succinct 1.0 is supported.

Velocity

Velocity 1.7 is supported.