What about `ECoLisp'? (Once again, let me qualify this mail with a
loud I'M JUST A STUDENT, NOT AN EXPERT NOR AN AUTHORITY.) I plan to
try and understand ECL at some point; I suspect it will be a year
still before I can do it right.
From the README:
8<--------------------------------------------------------------->8
This is ECoLisp (ECL), an Embeddable Common Lisp implementation.
ECL is an implementation of Common Lisp designed for being embeddable
into C based applications.
ECL uses standard C calling conventions for Lisp compiled functions,
which allows C programs to easily call Lisp functions and
viceversa. No foreign function interface is required: data can be
exchanged between C and Lisp with no need for conversion.
ECL is based on a Common Runtime Support (CRS) which provides basic
facilities for memory managment, dynamic loading and dumping of binary
images, support for multiple threads of execution. The CRS is built
into a library that can be linked with the code of the application.
ECL is modular: main modules are the program development tools (top
level, debugger, trace, stepper), the compiler, and CLOS. A native
implementation of CLOS is available in ECL: one can configure ECL with
or without CLOS. A runtime version of ECL can be built with just the
modules which are required by the application.
The ECL compiler compiles from Lisp to C, and then invokes the GCC
compiler to produce binaries.
ECL has been ported so far on:
- Sun workstations with SunOS 4.x or Solaris 2.x
- Silicon Graphics with IRIX 4.x
- NeXT with NeXTStep 2.x
- IBM PC with DOS/emx
- IBM PC with DOS/go32
- IBM PC with Linux
- IBM PC with FreeBSD 1.1.5
The newest versions are available via anonymous ftp from:
-
ftp.icsi.berkeley.edu [128.32.201.6], directory /pub/ai/ecl
- ftp.di.unipi.it [131.114.4.6], directory /pub/lang/lisp