Skip to content

(LLL) : Low-Level-Lush with Lisp is a combination of Lush2.0.1 and LLVM2.8 to bring out the best in both.

Notifications You must be signed in to change notification settings

glycerine/low-level-lush

Repository files navigation

(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

About

(LLL) : Low-Level-Lush with Lisp is a combination of Lush2.0.1 and LLVM2.8 to bring out the best in both.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published