1CHICKEN(1)                BSD General Commands Manual               CHICKEN(1)
2

NAME

4     chicken — A Scheme-to-C translator
5

SYNOPSIS

7     chicken [OPTION ...] [FILENAME ...]
8

DESCRIPTION

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

ENVIRONMENT

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

EXIT STATUS

278     The chicken utility exits 0 on success, and >0 if an error occurs.
279

SEE ALSO

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

AUTHORS

287     The CHICKEN Team
288

BUGS

290     Submit bug reports by e-mail to chicken-janitors@nongnu.org
291
292BSD                              Apr 26, 2017                              BSD
Impressum