ecl(1) Embeddable Common Lisp

SYNOPSIS

ecl [-dir dir] [-load file] [-eval expr]
[-compile file
[-o ofile] [-c [cfile]] [-h [hfile]] [-data [datafile]] [-s] [-q]]

DESCRIPTION

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).

BUGS

Probably some. Report them!