High Level Virtual Machine is a software toolkit that facilitates the creation of virtual machines for dynamic languages.
The main objective of HLVM is to support dynamic languages such as Ruby, Python, Perl, Jython, Haskell, Prolog, among others. With HLVM, developers can create new languages with ease using its complete compiler toolkit. HLVM's plugin is used to describe the language and direct the transformation of grammar productions into its extensive Abstract Syntax Tree (AST). HLVM then handles every aspect of code generation, bytecode storage, JIT execution or interpretation, and native compilation.
HLVM is also a language interoperability framework. With all front-end compilers generating code in the same AST, they can interoperate effortlessly. The runtime library for common constructs like "string" enables the sharing of complex data types between languages. This feature assures HLVM users of executing multilingual complex programs easily and efficiently.
The software also features a code management system that includes code revisioning, automated recompilation, interface versioning, separation of workspaces, etc. Despite all these features, HLVM is still under development, with the project starting on April 20th, 2006.
To enjoy HLVM, you must have Apache Portable Runtime and LLVM. This is the first release of HLVM, but it's only an early pre-release. Though it can run the "Hello, World" program, there isn't sufficient functionality in this release. Users must stay tuned to the website for future developments.
Version 0.1: N/A