[bitc-dev] BitC / HLVM

Guillaume FORTAINE guillaume.fortaine at wanadoo.fr
Sat Aug 5 12:57:19 EDT 2006


Hello all,

Could this tool be an interesitng one to develop bitc ?

http://hlvm.org


High Level Virtual Machine

"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, optimization, bytecode facilties, JIT compilation, target 
machine support, etc.

Dynamic Compilation. HLVM supports "dynamic" languages, i.e. those that 
that have run-time compilation or interpretation as a language feature. 
For example, languages that support an eval function that compiles or 
interprets a source language statement (or entire program) at run-time.

Language Designer's Toolkit. HLVM provides a complete language 
designer's toolkit for creating new programming languages. A plug-in 
model is used to allow a language front end to be executed at run-time. 
A language plug-in handles the process of translating from the 
language's source code into the HLVM Abstract Syntax Tree (AST) 
representation. After that, HLVM handles all aspects of code generation, 
bytecode storage, JIT execution or interpretation, and native compilation.

Common Runtime. HLVM supports a common runtime for a variety of 
programming languages including Ruby, Python, Perl, Jython, Haskell, 
Prolog, and others.

Language Interoperability Framework. Because HLVM uses the same 
facilities to implement the execution of different source languages, it 
is also a language interoperability framework. All language plug-ins 
translate source code into the same AST. This means they can 
interoperate. It doesn't mean they will interoperate. Language plug-ins 
that make use of the HLVM runtime library for common constructs (e.g. 
"string") will enhance the language's ability to interoperate with other 
languages.
"
Best Regards,

                         Guillaume fortaine



More information about the bitc-dev mailing list