Jump to content

Lily: Difference between revisions

From EDM2
mNo edit summary
No edit summary
Line 3: Line 3:
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 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.


===Known issues===
;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++.
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++.



Revision as of 00:05, 11 April 2016

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.

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++.

Links

Licence

Open source software published under the GPL v2 licence.

Author

  • Roger Sheldon