High Level Virtual Machine is a toolkit for developing virtual machines for dynamic languages.
Version: 0.1High Level Virtual Machine is a toolkit for developing virtual machines for dynamic languages.
Operating System: Linux
The High Level Virtual Machine is:
· Based on LLVM (Low Level Virtual Machine). LLVM is HLVM's sister project. HLVM gains tremendous capability from LLVM in the areas of code generation, bytecode storage, runtime execution, etc.
· Aimed at supporting dynamic languages such as Ruby, Python, Perl, Jython, Haskell, Prolog, etc.
· A complete compiler developer's toolkit for creating new languages easily. To write a new compiler, language designers simply write a plugin that describes the language to HLVM and how to translate the grammar productions into HLVM's comprehensive Abstract Syntax Tree (AST). After that, HLVM handles all aspects of code generation, bytecode storage, XML translation, JIT execution or interpretation, and native compilation.
· A language interoperability framework. Because all front end compilers generate code in the same AST, they can interoperate. Use of the runtime library for common constructs (e.g. "string") allow even complex data types to be shared between languages. Users of HLVM can write complex programs in multiple languages and be assured the result can be executed efficiently.
· A code management system including code revisioning, interface versioning, automated recompilation, separation of workspaces, etc.
· Currently under development. Project started April 20th, 2006. Stay tuned to this web site for future developments.
· Apache Portable Runtime
What's New in This Release:
· This is the first release of HLVM. It is a very early pre-release.
· The functionality included in HLVM with this release is sufficient to run the "Hello, World" program, but not much else.