A website about Lisp programming and related topics
When linking with several foreign libraries, you may not succeed because clisp insists to resolve all symbols immediately. The following patch relaxes that constraint:
--- clisp-2.48.orig/src/spvw.d +++ clisp-2.48/src/spvw.d @@ -4077,7 +4077,7 @@ return (void*)LoadLibrary(libname); #else /* FIXME: On UNIX_DARWIN, need to search for the library in /usr/lib */ - return dlopen(libname,RTLD_NOW|RTLD_GLOBAL); + return dlopen(libname,RTLD_LAZY|RTLD_GLOBAL); #endif }
Here are my Debian packages implementing that. It suppresses also X support, as CLX is available elsewhere if you need it; if you don't need X, you can then take full advantage of clisp small footprint.
clisp makes a quite decent CGI scripting language, due to its small memory footprint. With the help of detachtty, clisp can also provide small daemons. Such a daemon could for instance regularly gather information (take your favorite: network traffic on some system, stock prices...) and put it in a RRD database; RRD content is then vizualized on demand through a (clisp!) CGI script.
Since release 2.48, clisp supports threads, so running UCW with it should now be possible. But porting UCW to clisp will certainly require some work.
Having not evolved too much (no native 64 bits support), cmucl is happier with older code. It's from my experiences still the fastest free Common Lisp for intensive floating point computations.
Tried this one for a case where I needed some really tiny standalone executable. It was a success as it provided a binary even smaller than the clisp one. I didn't try the "embedding" features, and my case didn't push performance or ANSI compliance very far.
None, stock Debian Bookworm sbcl is used to run this site.