(LLL) : Low-Level-Lush. Low-Level-Lush is a combination of Lush2.0.1 and LLVM2.8, in order to bring out the best in both. Lush2.0.1 offers excellent programming environment for numerics, machine learning, plotting, GUI, an excellent class system and lovely interface to C code and producing C code for deployment. Unfortunately Lush2.0.1 lacks the ability to construct closures. LLVM2.8 with the Clang C++ compiler offers the ability to codgen C/C++ fragments and execute them in a JIT interpretted environment. Together they offer a great interactive and production environment. Since they have compatible open source licenses, this works. The Gambit-C system from Marc Feeley at Montreal offers full closures and C codegen, plus SIX for infix syntax, syntax rules, and serializable closures. For garbage collection we use Ralf's libcmm augmented by reference linking. Also pool based malloc replacement umem library and/or google's TCMalloc (http://goog-perftools.sourceforge.net/doc/tcmalloc.html). INSTALL, example: mkdir install cd llvm-2.8 ./configure --prefix=`cd ..; pwd`/install --enable-optimized --disable-expensive-checks --enable-jit --enable-pic --enable-shared --enable-targets=x86_64 REQUIRES_RTTI=1 make install cd lush2.0.1 ./configure --prefix=`cd ..; pwd`/install make install
zaoqi-unsafe/low-level-lush
(LLL) : Low-Level-Lush with Lisp is a combination of Lush2.0.1 and LLVM2.8 to bring out the best in both.
C++