RemObjects (ECMA) Script

We recently finished a new version of RemObjects Script (Old version, New version), our open source implementation of the ECMAScript (JavaScript) language.

This new version is a complete rewrite that follows the exact rules of ECMAScript 5 to the letter, meaning it conforms to the ECMAScript 5 conformance test suite.

The dependency on the Microsoft Dynamic Language Runtime (DLR) has been dropped and thus speed has improved a lot. The engine is written in Delphi Prism with the Oxygene language, and is now licensed under the BSD license.

The engine was rewritten for two reasons: The original was written loosely based on EcmaScript 3, so the rewrite gives us full V5 support. The second reason was that the DLR was slowing it down a lot, and the abstractions and optimizations in the DLR are overkill for a language as simple as ECMAScript, with only a few internal types. The new version is built based on DynamicMethod and emits IL directly, making it very fast to run.

The RemObjects Script project is a key part of the Business Rules Scripting support in our Data Abstract for .NET product. Just as we released our Internet Pack library as open source, we do the same with RemObjects Script. This means you can freely use RemObjects Script in your Delphi Prism or any .NET project to add automation to your projects, too.

The usage instructions can be found at Using RemObjects Script.