[Ecls-list] Announce: A new C++ based implementation of Common Lisp based on the ECL CL code

Christian Schafmeister chris.schaf at verizon.net
Mon Mar 4 16:30:17 UTC 2013


I've created a new implementation of Common Lisp that has a core written in C++ completely from scratch but hosts the ECL Common Lisp source code.
It hosts all of the ECL Common Lisp code in the ecl/src/lsp and ecl/src/clos directories of the ECL source tree.  
I do not use any part of the ECL CL->C compiler or the byte code compiler.
I've implemented my own CL interpreter and CL->LLVM-IR->native code compiler.

I'll be open sourcing this in a few months - once I get it cleaned up a bit.

It's purpose is to make possible the seamless interfacing of C++ libraries with Common Lisp code and vice versa.

Within this new implementation it is trivial to interface complex C++ libraries containing classes, virtual functions, overloaded functions etc with Common Lisp code.

This implementation uses the LLVM library as its back-end and generates Just-In-Time compiled native machine code Just-In-Time.

Why - you ask?  I'd be happy to explain over a beer or coffee sometime.  
In a nutshell - I want this for my research and prior to my writing it there was no Common Lisp implementation that interfaces seamlessly with C++.
ECL does a great job with "C" but "C++" is a much more complex language to interface with and I have a lot of C++ code that I need to interface with.

Going forward I would love to work with the ECL community and commonly host and develop the same Common Lisp source code even if our underlying cores and compilers are very different.


Christian Schafmeister
Associate Professor
Chemistry Department
Temple University

More information about the ecl-devel mailing list