ecl man page

ecl — Embeddable Common Lisp

Synopsis

ecl [-? | --help]
[--dir dir] [--load file] [--shell file] [--eval expr]
[--norc] [--hp | --nohp]
[--debug | --nodevbug]
[--c-stack size] [--lisp-stack size]
[--heap-size size] [--frame-stack size]
[[-o ofile] [-c [cfile]] [-h [hfile]] [--data [datafile]]
[-s] [-q] --compile file]
[[-o ofile] --link file+]
[--input-encoding external-format] [--output-encoding external-format]
[--error-encoding external-format] [--encoding external-format]
DEPRECATION NOTE: one-dash versions of long flags(e.g. -eval or -data) are deprecated; you should use two-dash versions (e.g. --eval or --data) now.

Description

ECL (Embeddable Common-Lisp) is an interpreter of the Common-Lisp language as described in the X3J13 Ansi specification, featuring CLOS (Common-Lisp Object System), conditions, loops, etc. plus a translator to C, which can produce standalone executables.

ECL supports the operating systems Linux, FreeBSD, NetBSD, OpenBSD, OS X, Solaris and Windows, running on top of the Intel, Sparc, Alpha, PowerPC and ARM processors.

The current ECL implementation features:

ecl without any argument starts the interactive lisp session.

Options

-?, --help

Shows the help prompt without running the ECL.

--norc

Do not load configuration files at startup.

--version

Prints the current version of ECL, without running the ECL.

-debug

Turned on by default, this enables the debugging in the setup phase, so that you can debug your files.

--nodebug

Run without debugging setup phase, meaning that errors prevent ECL from starting up.

--eval file

Evaluate the file before loading the .rc file and starting the Top Level.

--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 #!/usr/bin/ecl --shell on the first line of the file to be executed, and then ECL will be automatically invoked.

--load file

Load source file before loading the .rc file and starting the Top Level.

--dir directory

Use directory as a system directory.

--heap-size size

Specify heap size in kilobytes.

--lisp-stack size

Specify stack size in kilobytes for lisp system.

--frame-stack size

Specify frame stack size in kilobytes.

--c-stack size

Specify stack size in kilobytes for C compiler.

--trap-fpe

Make ECL debugger catch floating point exception.

--no-trap-fpe

Make ECL debugger not catch floating point exception.

--encoding encoding

Specify the external encoding for standard input, output, trace and error.

--input-encoding encoding

Specify the external encoding for standard input.

--output-encoding encoding

Specify the external encoding for standard output.

--error-encoding encoding

Specify the external encoding for standard error.

-o file

Provide the output target file for compilation.

-c cfile

When compiling name the intermediary C file cfile and do not delete it afterwards.

-h cfile

When compiling name the intermediary C file cfile 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.

--compile file

Translates file to C and invokes the local C compiler to produce a native code program.

-q

Short for quiet - produce less notes.

--hp

This option is deprecated and doesn't do anything.

--nodp

This option is deprecated and doesn't do anything.

-s

Produce a linkable object file. It cannot be loaded with load, but it can be used to build libraries or standalone executable programs.

Authors

The original version was developed by Giuseppe Attardi starting from the Kyoto Common Lisp implementation by Taiichi Yuasa, Masami Hagiya. Further development was lead by Juan Jose Garcia Ripoll.  The current maintainer of ECL is Daniel Kochmański, 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).

See Also

ANSI

The

Bugs

Unfortunately it is possible that there are some bugs in the program. In case you find any bug, please report it as an issue (after making sure that it hasn't been reported or fixed) to official gitlab repository: https://gitlab.com/embeddable-common-lisp/ecl/issues .

License

ECL is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version; see file 'Copying'. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Please report bugs, comments, suggestions to the ecl mailing list: ecl-devel@common-lisp.net (or use gitlab).

Info

2016-09-17