The LIsp LibrarY (Lily) is a class library for C++ that implements a fairly large subset of Common Lisp to allow C++ coders to write hybrid programs utilising both C++ and LISP code in the same program.
It should be noted that Lily is not meant to be embeddable scripting engine like Eco Common Lisp although it is possible that you could modify it to handle that task, but rather to give C++ programmers a tool that allows them to solve problems that are simpler to write with a dynamic system like LISP as an addition to their toolbox. As it is a normal class library and not a statistically linked library the resulting program is then just compiled like any other C++ program, it is conceptually in this regard similar to the old Drasch CLISP.
- Known issues
The library is getting on a bit in years and has been tested on OS/2 using the EMX version of GCC, on sundry UNIX like systems with older versions of GCC and on Microsoft Windows using Turbo C++, it is more than possible that you will need to update it a bit to work better with more modern versions of C++ toolsets but nothing major. However while the system is a reasonable Common Lisp implementation the garbage collection is weak and slow, this is not a problem for your own experimental programs or for educational purposes but if you intend to release software built using the system you might want to transplant the memory management code from a more modern open source CL system written in C++.
Open source software published under the GPL v2 licence.
- Roger Sheldon