1ecl(1) General Commands Manual ecl(1)
2
3
4
6 ecl -- Embeddable Common Lisp
7
8
10 ecl [-? | --help] [-v | --version] [--debug | --nodebug]
11 [--dir dir] [--load file] [--shell file] [--eval expr] [--rc | --norc]
12 [--c-stack size] [--lisp-stack size] [--heap-size size]
13 [--frame-stack size]
14 [[-o ofile] [-c [cfile]] [-h [hfile]] [--data [datafile]] [-s] [-q]
15 --compile file]
16 [[-o ofile] --link file+]
17 [--input-encoding external-format] [--output-encoding external-format]
18 [--error-encoding external-format] [--encoding external-format]
19 [--trap-fpe | --no-trap-fpe]
20
21
22
23
25 ECL (Embeddable Common-Lisp) is an interpreter of the Common-Lisp lan‐
26 guage as described in the X3J13 ANSI specification, featuring CLOS
27 (Common-Lisp Object System), conditions, loops, etc. plus a translator
28 to C, which can produce standalone executables.
29
30 ECL supports the operating systems Linux, FreeBSD, NetBSD, OpenBSD,
31 OS X, Solaris and Windows, running on top of the Intel, Sparc, Alpha,
32 PowerPC and ARM processors.
33
34
35 The current ECL implementation features:
36
37 • A bytecode compiler and interpreter.
38
39 • Compiles Lisp also with any C/C++ compiler
40
41 • Can build standalone executables and libraries
42
43 • ASDF, Sockets, Gray streams, MOP, and other useful components
44
45 • Extremely portable
46
47 • A reasonable license
48
49 ecl without any argument starts the interactive lisp session.
50
51
53 -?, --help
54 Shows the help prompt without running the ECL.
55
56 -v, --version,
57 Prints the current version of ECL, without running the ECL.
58
59 --debug
60 Turned on by default, this enables the debugging in the setup phase,
61 so that you can debug your files.
62
63 --nodebug
64 Run without debugging setup phase, meaning that errors prevent ECL
65 from starting up.
66
67 --dir directory
68 Use directory as a system directory.
69
70 --load file
71 Load source file before loading the .rc file and starting the
72 toplevel.
73
74 --shell file
75 Executes the given file and exits, without providing a read-eval-
76 print loop. If you want to use lisp as a scripting language, you
77 can write #!/usr/bin/ecl --shell on the first line of the file to be
78 executed, and then ECL will be automatically invoked.
79
80 --eval file
81 Evaluate the file before loading the .rc file and starting the Top
82 Level.
83
84 --rc
85 Load configuration files at startup (default).
86
87 --norc
88 Do not load configuration files at startup.
89
90 --c-stack size
91 Set C stack size in kilobytes for C compiler.
92
93 --lisp-stack size
94 Set stack size in kilobytes for bytecodes interpreter.
95
96 --heap-stack size
97 Set heap size in kilobytes.
98
99 --frame-stack size
100 Set frame size in kilobytes for runtime control structures.
101
102 -o file
103 Provide the output target file for compilation.
104
105 -c cfile
106 When compiling name the intermediary *.c file cfile and do not
107 delete it afterwards.
108
109 -h hfile
110 When compiling name the intermediary *.h file hfile and do not
111 delete it afterwards.
112
113 --data [datafile]
114 Dumps compiler data into datafile or, if not supplied, into a file
115 named after the source file, but with .data as extension.
116
117 -s Produce a linkable object file. It cannot be loaded with (load), but
118 it can be used to build libraries or standalone executable programs.
119
120 -q Short for quiet -- produce less notes.
121
122 --compile file
123 Translates file to C and invokes the local C compiler to produce a
124 native code program.
125
126 --link file+
127 Create standalone executable from Lisp files file+.
128
129 --input-encoding encoding
130 Specify the external encoding for standard input.
131
132 --output-encoding encoding
133 Specify the external encoding for standard output.
134
135 --error-encoding encoding
136 Specify the external encoding for standard error.
137
138 --encoding encoding
139 Specify the external encoding for standard input, output, trace and
140 error.
141
142 --trap-fpe
143 Make ECL debugger catch floating point exception.
144
145 --no-trap-fpe
146 Disable ECL debugger floating point exception catching.
147
148
150 The original version was developed by Giuseppe Attardi starting from
151 the Kyoto Common Lisp implementation by Taiichi Yuasa, Masami Hagiya.
152 Further development was lead by Juan Jose Garcia Ripoll. The current
153 maintainers of ECL are Daniel Kochmański and Marius Gerbershagen, who
154 can be reached at the ECL mailing list.
155
156
158 ~/.ecl, ~/.eclrc
159 Default initialization files loaded at startup unless the option
160 --norc is provided (if they exist).
161
162
164 ANSI Common Lisp standard X3.226-1994
165
166 The Common Lisp HyperSpec
167
168
170 Unfortunately it is possible that there are some bugs in the program.
171 In case you find any bug, please report it as an issue (after making
172 sure that it hasn't been reported or fixed) to official gitlab reposi‐
173 tory: ⟨https://gitlab.com/embeddable-common-lisp/ecl/issues⟩
174
175
177 ECL is free software; you can redistribute it and/or modify it under
178 the terms of the GNU Library General Public License as published by the
179 Free Software Foundation; either version 2 of the License, or (at your
180 option) any later version; see file COPYING. This program is distrib‐
181 uted in the hope that it will be useful, but WITHOUT ANY WARRANTY;
182 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
183 PARTICULAR PURPOSE. See the GNU Library General Public License for
184 more details.
185
186 You should have received a copy of the GNU Library General Public Li‐
187 cense along with this program; if not, write to the Free Software Foun‐
188 dation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
189
190 Please report bugs, comments, suggestions to the ecl mailing list:
191 ⟨ecl-devel@common-lisp.net⟩ (or use gitlab).
192
193
194
195 2021-02-01 ecl(1)