ECL stands for Embeddable Common-Lisp.
The ECL project is an effort to modernize
Giuseppe Attardi's ECL environment to
produce an implementation of the Common-Lisp
language which complies to the ANSI X3J13
definition of the language.
The current ECL implementation features:
•
A bytecodes compiler and interpreter.
•
A translator to C.
•
An interface to foreign functions.
•
A dynamic loader.
•
The possibility to build standalone executables.
•
The Common-Lisp Object System (CLOS).
•
Conditions and restarts for handling errors.
•
Sockets as ordinary streams.
•
The Gnu Multiprecision library for fast bignum operations.
•
A simple conservative mark & sweep garbage collector.
•
The Boehm-Weiser garbage collector.
ecl without any argument gives you the
interactive lisp.
OPTIONS
-shell file
Executes the given file and exits, without providing a read-eval-print loop.
If you want to use lisp as a scripting language, you can write
#!${exec_prefix}/bin/ecl -shell
on the first line of the file to be executed, and then ECL will be
automatically invoked.
-norc
Do not try to load the file
~/.eclrc
at startup.
-dir
Use
dir
as system directory.
-load file
Loads
file
before entering the read-eval-print loop.
-eval expr
Evaluates
expr
before entering the read-eval-print loop.
-compile file
Translates
file
to C and invokes the local C compiler to produce a
shared library with .fas as extension per default.
-o ofile
When compiling
file
name the resulting shared library
ofile.
-c cfile
When compiling name the intermediary C file
cfile
and do not delete it afterwards.
-h hfile
When compiling name the intermediary C header
hfile
and do not delete it afterwards.
-data [datafile]
Dumps compiler data into datafile or, if not
supplied, into a file named after the source file, but
with .data as extension.
-s
Produce a linkable object file. It cannot be loaded
with load, but it can be used to build libraries
or standalone executable programs.
-q
Produce less notes when compiling.
The options
-load,-shell,
and
-eval
may appear any number of times, and they are combined and processed from left
to right.
AUTHORS
The original version was developed by Giuseppe Attardi starting from the Kyoto
Common Lisp implementation by Taiichi Yuasa and Masami Hagiya. The current
maintainer of ECL is Juan Jose Garcia Ripoll, who can be reached at the ECL
mailing list.
FILES
~/.ecl, ~/.eclrc
Default initialization files loaded at startup unless the option
-norc
is provided.
(if they exist).