ecl(1)
ecl π the Embeddable Common Lisp era
ok so bestie, pull up a chair, because we're about to talk about ecl(1) β yes, the General Commands Manual one, and yes, she's iconic. π
β¨ NAME β¨
ecl β Embeddable Common Lisp. that's it, that's the name, she's serving exactly what it says on the tin π«Ά
πΈ SYNOPSIS πΈ
ecl [-? | --help] [-v | --version] [--debug | --nodebug]
[--dir dir] [--load file] [--shell file] [--eval expr] [--rc | --norc]
[--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]
[--trap-fpe | --no-trap-fpe]
look at all those flags. she's got range. π
π DESCRIPTION π
so ECL β that's Embeddable Common-Lisp β is an interpreter of the Common-Lisp language, exactly as described in the X3J13 ANSI specification. and she's not just any interpreter, she's giving full CLOS (Common-Lisp Object System), conditions, loops, etc. β plus a translator to C that can produce standalone executables. main character energy fr fr π
ECL supports these operating systems: Linux, FreeBSD, NetBSD, OpenBSD, OS X, Solaris and Windows β and she runs on top of the Intel, Sparc, Alpha, PowerPC and ARM processors. literally everywhere, no cap. π
the current ECL implementation features:
- A bytecode compiler and interpreter.
- Compiles Lisp also with any C/C++ compiler
- Can build standalone executables and libraries
- ASDF, Sockets, Gray streams, MOP, and other useful components
- Extremely portable
- A reasonable license
and then β the moment you've all been waiting for β ecl with no arguments at all starts the interactive lisp session. just you and the REPL. bestie time. β¨
π OPTIONS π
-?,--helpβ shows the help prompt, without running ECL at all. a little peek behind the curtain π-v,--version, β prints the current version of ECL, without running ECL. (yes the comma is canon, she's just like that π«Ά)--debugβ turned on by default, this enables the debugging in the setup phase, so that you can debug your files. lowkey a lifesaver.--nodebugβ runs without the debugging setup phase, which means errors prevent ECL from starting up. highkey strict π--dir directoryβ use directory as a system directory.--load fileβ load the source file before loading the.rcfile and starting the toplevel.--shell fileβ executes the given file and exits, without providing a read-eval-print loop. so if you want to use lisp as a scripting language, you can write#!${exec_prefix}/bin/ecl --shellon the first line of the file you want executed, and then ECL will be automatically invoked. shebang slay π--eval fileβ evaluate the file before loading the.rcfile and starting the Top Level.--rcβ load configuration files at startup (default).--norcβ do not load configuration files at startup.--c-stack sizeβ set C stack size in bytes for the C compiler.--lisp-stack sizeβ set stack size in bytes for the bytecodes interpreter.--heap-stack sizeβ set heap size in bytes.--frame-stack sizeβ set frame stack size in bytes for runtime control structures.-o fileβ provide the output target file for compilation.-c cfileβ when compiling, name the intermediary*.cfile cfile and do not delete it afterwards. she's keeping receipts π-h hfileβ when compiling, name the intermediary*.hfile 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.dataas the 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β short for quiet β produce less notes. π€«--compile fileβ translates file to C and invokes the local C compiler to produce a native code program.--link file+β create a standalone executable from the Lisp files file+.--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.--encoding encodingβ specify the external encoding for standard input, output, trace and error.--trap-fpeβ make the ECL debugger catch floating point exception.--no-trap-fpeβ disable the ECL debugger floating point exception catching.
π 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 maintainers of ECL are Daniel KochmaΕski and Marius Gerbershagen, who can be reached at the ECL mailing list. legends, every single one π
π¦ FILES π¦
~/.ecl,~/.eclrcβ default initialization files loaded at startup unless the option--norcis provided (if they exist).
πΈ SEE ALSO πΈ
- ANSI Common Lisp standard X3.226-1994
- The Common Lisp HyperSpec
π 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 the official gitlab repository: https://gitlab.com/embeddable-common-lisp/ecl/issues
bestie pls check first, don't be that person π
β LICENSE β
this library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
this library 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 Lesser General Public License for more details.
you should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
please report bugs, comments, suggestions to the ecl mailing list: ecl-devel@common-lisp.net (or use gitlab).
ok that's the whole thing, you're officially educated π go forth and (format t "slay~%") πβ¨
this page is from the General Commands Manual, dated 2021-02-01, and it's page ecl(1) β that's a wrap, ily, bye bestie πππ«Ά
π¦ where this page comes from
- arch rolling: ecl 26.5.5-1 Β· LGPL-2.1-or-later
- nixos 26.05: ecl 26.5.5
- nixpkgs unstable: ecl 26.5.5
- ubuntu questing: ecl 24.5.10.20250914.git294da20+dfsg-1
- ubuntu resolute: ecl 24.5.10.20250914.git294da20+dfsg-3 Β· LGPL-2.1-or-later
- ubuntu stonking: ecl 24.5.10.20250914.git294da20+dfsg-3 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms