LLVM
LLVM stands for Low Level Virtual Machine. It is a positively ambitious project being led by Chris Lattner, released under a BSD-style open source license.

There are currently three sets of CL bindings:

This might be a cool basis for new generation of Lisp implementations. Today at least, you can compile small Scheme systems, such as SIOD and TinyScheme, with the LLVM C front-end compiler. We haven't tried any Common Lisp implementations yet.

Of course, just compiling your favorite Lisp implementation should bring only a minor boost. The real boost should be brought by usage of LLVM as a back end for Lisp implementation. It should be possible to retarget CMUCL's compiler, or maybe a compiler like Scheme->C, to produce LLVM instructions. This, coupled with the LLVM just-in-time compiler, would make for a pretty efficient Lisp.

Clasp is a Common Lisp implementation that interoperates with C++ and uses LLVM for JIT(ish) compilation to native code

LLVM Release 3.4 is the latest release as of March 2014.

There is some very interesting work being done in integrating LLVM into the gcc 4.x line.

The LLVM Developers' Meeting Proceedings (27 May 2007) is available in the form of videos and slides (PDF).

--- This page mostly written by Valery Khamenya and Brian Gaeke:


machine code