1CHICKEN(1) BSD General Commands Manual CHICKEN(1)
2
4 chicken — A Scheme-to-C translator
5
7 chicken [OPTION ...] [FILENAME ...]
8
10 chicken is a compiler and interpreter for the programming language Scheme
11 supporting most of the features as described in the Revised^5 Report on
12 the Algorithmic Language Scheme. The chicken program is the basic
13 Scheme-to-C translator used in this system. For a more convenient inter‐
14 face, see csc(1).
15
16 FILENAME should be a complete source file name with extension, or “-” for
17 standard input. OPTION may be one of the following:
18
19 General options:
20
21 -help Display usage and exit.
22
23 -version
24 Display compiler version and exit.
25
26 -release
27 Print release number and exit.
28
29 -verbose
30 Display information on compilation progress.
31
32 File and pathname options:
33
34 -output-file FILENAME
35 Specifies output-filename, default is “out.c”.
36
37 -include-path PATHNAME
38 Specifies alternative path for included files.
39
40 -to-stdout
41 Write compiled file to stdout instead of file.
42
43 Language options:
44
45 -feature SYMBOL
46 Register feature identifier.
47
48 -no-feature SYMBOL
49 Disable built-in feature identifier.
50
51 Syntax related options:
52
53 -case-insensitive
54 Don't preserve case of read symbols.
55
56 -keyword-style STYLE
57 Allow alternative keyword syntax (prefix, suffix or none).
58
59 -no-parentheses-synonyms
60 Disables list delimiter synonyms.
61
62 -no-symbol-escape
63 Disables support for escaped symbols.
64
65 -r5rs-syntax
66 Disables the CHICKEN extensions to R5RS syntax.
67
68 -compile-syntax
69 Macros are made available at run-time.
70
71 -emit-import-library MODULE
72 Write compile-time module information into separate file.
73
74 -emit-all-import-libraries
75 Emit import-libraries for all defined modules.
76
77 -no-compiler-syntax
78 Disable expansion of compiler-macros.
79
80 -module NAME
81 Wrap compiled code in module of the given name.
82
83 -module-registration
84 Always generate module registration code, even when import li‐
85 braries are emitted.
86
87 -no-module-registration
88 Do not generate module registration code. Overrides
89 -module-registration.
90
91 Translation options:
92
93 -explicit-use
94 Do not use units ‘library’ and ‘eval’ by default.
95
96 -static
97 Link extensions statically.
98
99 -check-syntax
100 Stop compilation after macro-expansion.
101
102 -analyze-only
103 Stop compilation after first analysis pass.
104
105 Debugging options:
106
107 -no-warnings
108 Disable warnings.
109
110 -debug-level NUMBER
111 Set level of available debugging information.
112
113 -no-trace
114 Disable tracing information.
115
116 -profile
117 Executable emits profiling information.
118
119 -profile-name FILENAME
120 Name of the generated profile information file.
121
122 -accumulate-profile
123 Executable emits profiling information in append mode.
124
125 -no-lambda-info
126 Omit additional procedure-information.
127
128 -types FILENAME
129 Load additional type database.
130
131 -emit-types-file FILENAME
132 Write type-declaration information into file.
133
134 Optimization options:
135
136 -optimize-level NUMBER
137 Enable certain sets of optimization options.
138
139 -optimize-leaf-routines
140 Enable leaf routine optimization.
141
142 -no-usual-integrations
143 Standard procedures may be redefined.
144
145 -unsafe
146 Disable all safety checks.
147
148 -local Assume globals are only modified in current file.
149
150 -block Enable block-compilation.
151
152 -disable-interrupts
153 Disable interrupts in compiled code.
154
155 -fixnum-arithmetic
156 Assume all numbers are fixnums.
157
158 -disable-stack-overflow-checks
159 Disables detection of stack-overflows.
160
161 -inline
162 Enable inlining.
163
164 -inline-limit LIMIT
165 Set inlining threshold.
166
167 -inline-global
168 Enable cross-module inlining.
169
170 -specialize
171 Perform type-based specialization of primitive calls.
172
173 -emit-inline-file FILENAME
174 Generate file with globally inlinable procedures (implies -inline
175 -local).
176
177 -consult-inline-file FILENAME
178 Explicitly load inline file.
179
180 -no-argc-checks
181 Disable argument count checks.
182
183 -no-bound-checks
184 Disable bound variable checks.
185
186 -no-procedure-checks
187 Disable procedure call checks.
188
189 -no-procedure-checks-for-usual-bindings
190 Disable procedure call checks only for usual bindings.
191
192 -no-procedure-checks-for-toplevel-bindings
193 Disable procedure call checks for toplevel bindings.
194
195 -strict-types
196 Assume variable do not change their type.
197
198 -clustering
199 Combine groups of local procedures into dispatch loop.
200
201 -lfa2 Perform additional lightweight flow-analysis pass.
202
203 -unroll-limit LIMIT
204 Specifies inlining limit for self-recursive calls.
205
206 Configuration options:
207
208 -unit NAME
209 Compile file as a library unit.
210
211 -uses NAME
212 Declare library unit as used.
213
214 -heap-size NUMBER
215 Specifies heap-size of compiled executable.
216
217 -nursery NUMBER -stack-size NUMBER
218 Specifies nursery size of compiled executable.
219
220 -extend FILENAME
221 Load file before compilation commences.
222
223 -prelude EXPRESSION
224 Add expression to front of source file.
225
226 -postlude EXPRESSION
227 Add expression to end of source file.
228
229 -prologue FILENAME
230 Include file before main source file.
231
232 -epilogue FILENAME
233 Include file after main source file.
234
235 -dynamic
236 Compile as dynamically loadable code.
237
238 -require-extension NAME
239 Require and import extension NAME.
240
241 -emit-link-file FILENAME
242 Write a list of statically linked extensions to FILENAME, used
243 for identifying the static objects that need to be linked to an
244 executable.
245
246 Obscure options:
247
248 -debug MODES
249 Display debugging output for the given modes.
250
251 -raw Do not generate implicit init- and exit code.
252
253 -emit-external-prototypes-first
254 Emit prototypes for callbacks before foreign declarations.
255
256 -regenerate-import-libraries
257 Always emit import libraries, even when their contents haven't
258 changed. The default behaviour is to preserve existing import
259 libraries.
260
261 -ignore-repository
262 Do not refer to repository for extensions.
263
264 -setup-mode
265 Prefer the current directory when locating extensions.
266
268 The following environment variables change the behaviour of chicken:
269
270 CHICKEN_INCLUDE_PATH Contains one or more pathnames where the compiler
271 should additionally look for include-files, sepa‐
272 rated by ‘;’ characters.
273
274 CHICKEN_OPTIONS Holds a string of default compiler options that
275 should apply to every invocation of chicken.
276
278 The chicken utility exits 0 on success, and >0 if an error occurs.
279
281 chicken(1), chicken-install(1), chicken-uninstall(1)
282
283 More information can be found in the CHICKEN User's Manual:
284 http://wiki.call-cc.org/manual/index
285
287 The CHICKEN Team
288
290 Submit bug reports by e-mail to chicken-janitors@nongnu.org
291
292BSD Apr 26, 2017 BSD