Common Lisp implementations for Unix have traditionally provided a rich development environment at the expense of an inefficient delivery environment. The goal of WCL is to allow hundreds of Lisp applications to be realistically available at once, while allowing several of them to run concurrently. WCL accomplishes this by providing Common Lisp as a UNIX shared library that can be linked with Lisp and C code to produce efficient applications. For example, the executable for a Lisp version of the canonical “Hello World!” program requires only 40k bytes under SunOS 4.1 for SPARC. WCL also supports a full development environment, including dynamic file loading and debugging. A modified version of GDB, the GNU Debugger, is used to debug WCL programs, providing support for mixed language debugging. The techniques used in WCL should also be applicable to other high-level languages that allow runtime mappings from names to objects.
[1]
Jr. Guy L. Steele,et al.
Common LISP: the language (2nd ed.)
,
1990
.
[2]
Joel F. Bartlett,et al.
Compacting garbage collection with ambiguous roots
,
1988,
LIPO.
[3]
Guy L. Steele,et al.
Common Lisp the Language
,
1984
.
[4]
萩谷 昌己,et al.
Kyoto Common Lisp report
,
1985
.
[5]
Robert A. MacLachlan.
CMU Common Lisp User''s Manual
,
1992
.
[6]
Gregor Kiczales,et al.
Efficient method dispatch in PCL
,
1990,
LISP and Functional Programming.