From: Arthur Norman
Subject: CSL - a delivery Lisp
Date: 
Message-ID: <1991Jul3.091630.6076@cl.cam.ac.uk>
I have been working on a Lisp which I call CSL, which is NOT a complete
Common Lisp or anything trendy like that, but which is intended to be
the basis for delivering significant Lisp packages to end users (who will
to a large extent not see the Lisp).  CSL aims at being frugal im memory
use so that if your customers need to run 10 copies of your package at once
on one machine it may not run out of swap space.  CSL aims at being very
portable (it is all in ANSI C and I have run versions on almost a dozen
machines, from extended-memory MSDOS/286 (as well as 386) throughall the
usual Unix workstations.  It takes the view that people will integrate
it with other bits of their total application using C code as glue, and
so it will come with C source so you can install whatever extra hooks
your problem needs.  Performance - the main message is that CSL provides
for a trade-off: regular interpreted s-expressions have ultimate flexibility
but run a tad slow.  There is a compiler to byetcodes where the bytecoded
stuff is medium speed but very compact, and a second compiler Lisp to C
which is much less flexible but turns hot-spot functions into full-speed
code.  The application I wanted this for (the REDUCE algebra system) seemd
to go well with about 3.5% of the source compiled into C, at which stage it
goes almost as fast as fully hard-compiled code.  I have a 15-page LaTeX
blurb I could forward to anybody who asks in about the next two weeks...
Arthur Norman