I have been working on a high-level virtual machine built upon LLVM since
Christmas 2008 and just released the first working version:
This alpha release of HLVM provides:
. Unit, bool, int and float primitive types.
. Tuples (as first-class structs).
. Homogeneous array type.
. Boxed value type.
. Function pointers.
. Generic printing.
. Full tail calls.
. Precise garbage collection.
. Foreign function interface to C.
. JIT compilation to native code using LLVM.
. Catching of stack overflows using libsigsegv.
The GC is brand new (I wrote it over the weekend) and I need to fix and
optimize it before moving HLVM into beta but the code already includes a
variety of example programs (written in ASTs) including Sieve of
Eratosthenes, Mandelbrot Rendering and n-Queens Solvers. Apart from the GC,
performance is superb and is often several times faster than OCaml on x86.
HLVM is published under a 2-clause BSD license and has been funded entirely by
Flying Frog Consultancy Ltd.