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-module-registration
78 Do not generate module registration code.
79
80 -no-compiler-syntax
81 Disable expansion of compiler-macros.
82
83 -module NAME
84 Wrap compiled code in module of the given name.
85
86 Translation options:
87
88 -explicit-use
89 Do not use units ‘library’ and ‘eval’ by default.
90
91 -static
92 Link extensions statically.
93
94 -check-syntax
95 Stop compilation after macro-expansion.
96
97 -analyze-only
98 Stop compilation after first analysis pass.
99
100 Debugging options:
101
102 -no-warnings
103 Disable warnings.
104
105 -debug-level NUMBER
106 Set level of available debugging information.
107
108 -no-trace
109 Disable tracing information.
110
111 -profile
112 Executable emits profiling information.
113
114 -profile-name FILENAME
115 Name of the generated profile information file.
116
117 -accumulate-profile
118 Executable emits profiling information in append mode.
119
120 -no-lambda-info
121 Omit additional procedure-information.
122
123 -types FILENAME
124 Load additional type database.
125
126 -emit-types-file FILENAME
127 Write type-declaration information into file.
128
129 Optimization options:
130
131 -optimize-level NUMBER
132 Enable certain sets of optimization options.
133
134 -optimize-leaf-routines
135 Enable leaf routine optimization.
136
137 -no-usual-integrations
138 Standard procedures may be redefined.
139
140 -unsafe
141 Disable all safety checks.
142
143 -local Assume globals are only modified in current file.
144
145 -block Enable block-compilation.
146
147 -disable-interrupts
148 Disable interrupts in compiled code.
149
150 -fixnum-arithmetic
151 Assume all numbers are fixnums.
152
153 -disable-stack-overflow-checks
154 Disables detection of stack-overflows.
155
156 -inline
157 Enable inlining.
158
159 -inline-limit LIMIT
160 Set inlining threshold.
161
162 -inline-global
163 Enable cross-module inlining.
164
165 -specialize
166 Perform type-based specialization of primitive calls.
167
168 -emit-inline-file FILENAME
169 Generate file with globally inlinable procedures (implies -inline
170 -local).
171
172 -consult-inline-file FILENAME
173 Explicitly load inline file.
174
175 -no-argc-checks
176 Disable argument count checks.
177
178 -no-bound-checks
179 Disable bound variable checks.
180
181 -no-procedure-checks
182 Disable procedure call checks.
183
184 -no-procedure-checks-for-usual-bindings
185 Disable procedure call checks only for usual bindings.
186
187 -no-procedure-checks-for-toplevel-bindings
188 Disable procedure call checks for toplevel bindings.
189
190 -strict-types
191 Assume variable do not change their type.
192
193 -clustering
194 Combine groups of local procedures into dispatch loop.
195
196 -lfa2 Perform additional lightweight flow-analysis pass.
197
198 Configuration options:
199
200 -unit NAME
201 Compile file as a library unit.
202
203 -uses NAME
204 Declare library unit as used.
205
206 -heap-size NUMBER
207 Specifies heap-size of compiled executable.
208
209 -nursery NUMBER -stack-size NUMBER
210 Specifies nursery size of compiled executable.
211
212 -extend FILENAME
213 Load file before compilation commences.
214
215 -prelude EXPRESSION
216 Add expression to front of source file.
217
218 -postlude EXPRESSION
219 Add expression to end of source file.
220
221 -prologue FILENAME
222 Include file before main source file.
223
224 -epilogue FILENAME
225 Include file after main source file.
226
227 -dynamic
228 Compile as dynamically loadable code.
229
230 -require-extension NAME
231 Require and import extension NAME.
232
233 -emit-link-file FILENAME
234 Write a list of statically linked extensions to FILENAME, used
235 for identifying the static objects that need to be linked to an
236 executable.
237
238 Obscure options:
239
240 -debug MODES
241 Display debugging output for the given modes.
242
243 -raw Do not generate implicit init- and exit code.
244
245 -emit-external-prototypes-first
246 Emit prototypes for callbacks before foreign declarations.
247
248 -ignore-repository
249 Do not refer to repository for extensions.
250
251 -setup-mode
252 Prefer the current directory when locating extensions.
253
255 The following environment variables change the behaviour of chicken:
256
257 CHICKEN_INCLUDE_PATH Contains one or more pathnames where the compiler
258 should additionally look for include-files, sepa‐
259 rated by ‘;’ characters.
260
261 CHICKEN_OPTIONS Holds a string of default compiler options that
262 should apply to every invocation of chicken.
263
265 The chicken utility exits 0 on success, and >0 if an error occurs.
266
268 chicken(1), chicken-install(1), chicken-uninstall(1)
269
270 More information can be found in the CHICKEN User's Manual:
271 http://wiki.call-cc.org/manual/index.
272
274 The CHICKEN Team
275
277 Submit bug reports by e-mail to chicken-janitors@nongnu.org
278
279BSD Apr 26, 2017 BSD