On Mon, May 3, 2010 at 8:09 PM, Seth Burleigh <seth@tewebs.com> wrote:
Thanks for the insights. One last question, ive read somewhere on the
mailing list that you have looked at using llvm as the compiler, or
maybe you were planning to directly use clang?

The code is still work in progress. You find it in ECL's repository under src/new-cmp. I am right now refactoring it so that both compilers share more code and I can make further progress, but the new compiler is not yet able to build itself.

The goal is not to use clang, but rather to first have a different intermediate representation, based on static-single-assignment in a kind of lispy language (but imperative, not functional) and then have different backends: one based on what we do now, another one that uses llvm's SSA compiler for the llvm virtual machine to produce code, another one that targets our current bytecodes interpreter (or some improved version of it...)

The other task, embedding clang, would be orthogonal to that and could be reused.

Juanjo

--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://tream.dreamhosters.com