Provided by: chicken-bin_5.2.0-2_amd64 bug


     chicken — A Scheme-to-C translator


     chicken [OPTION ...] [FILENAME ...]


     chicken is a compiler and interpreter for the programming language Scheme supporting most of
     the features as described in the Revised^5 Report on the Algorithmic Language Scheme.  The
     chicken program is the basic Scheme-to-C translator used in this system.  For a more
     convenient interface, see csc(1).

     FILENAME should be a complete source file name with extension, or “-” for standard input.
     OPTION may be one of the following:

     General options:

     -help   Display usage and exit.

             Display compiler version and exit.

             Print release number and exit.

             Display information on compilation progress.

     File and pathname options:

     -output-file FILENAME
             Specifies output-filename, default is “out.c”.

     -include-path PATHNAME
             Specifies alternative path for included files.

             Write compiled file to stdout instead of file.

     Language options:

     -feature SYMBOL
             Register feature identifier.

     -no-feature SYMBOL
             Disable built-in feature identifier.

     Syntax related options:

             Don't preserve case of read symbols.

     -keyword-style STYLE
             Allow alternative keyword syntax (prefix, suffix or none).

             Disables list delimiter synonyms.

             Disables support for escaped symbols.

             Disables the CHICKEN extensions to R5RS syntax.

             Macros are made available at run-time.

     -emit-import-library MODULE
             Write compile-time module information into separate file.

             Emit import-libraries for all defined modules.

             Disable expansion of compiler-macros.

     -module NAME
             Wrap compiled code in module of the given name.

             Always generate module registration code, even when import libraries are emitted.

             Do not generate module registration code. Overrides -module-registration.

     Translation options:

             Do not use units ‘library’ and ‘eval’ by default.

             Link extensions statically.

             Stop compilation after macro-expansion.

             Stop compilation after first analysis pass.

     Debugging options:

             Disable warnings.

     -debug-level NUMBER
             Set level of available debugging information.

             Disable tracing information.

             Executable emits profiling information.

     -profile-name FILENAME
             Name of the generated profile information file.

             Executable emits profiling information in append mode.

             Omit additional procedure-information.

     -types FILENAME
             Load additional type database.

     -emit-types-file FILENAME
             Write type-declaration information into file.

     Optimization options:

     -optimize-level NUMBER
             Enable certain sets of optimization options.

             Enable leaf routine optimization.

             Standard procedures may be redefined.

             Disable all safety checks.

     -local  Assume globals are only modified in current file.

     -block  Enable block-compilation.

             Disable interrupts in compiled code.

             Assume all numbers are fixnums.

             Disables detection of stack-overflows.

             Enable inlining.

     -inline-limit LIMIT
             Set inlining threshold.

             Enable cross-module inlining.

             Perform type-based specialization of primitive calls.

     -emit-inline-file FILENAME
             Generate file with globally inlinable procedures (implies -inline -local).

     -consult-inline-file FILENAME
             Explicitly load inline file.

             Disable argument count checks.

             Disable bound variable checks.

             Disable procedure call checks.

             Disable procedure call checks only for usual bindings.

             Disable procedure call checks for toplevel bindings.

             Assume variable do not change their type.

             Combine groups of local procedures into dispatch loop.

     -lfa2   Perform additional lightweight flow-analysis pass.

     -unroll-limit LIMIT
             Specifies inlining limit for self-recursive calls.

     Configuration options:

     -unit NAME
             Compile file as a library unit.

     -uses NAME
             Declare library unit as used.

     -heap-size NUMBER
             Specifies heap-size of compiled executable.

     -nursery NUMBER -stack-size NUMBER
             Specifies nursery size of compiled executable.

     -extend FILENAME
             Load file before compilation commences.

     -prelude EXPRESSION
             Add expression to front of source file.

     -postlude EXPRESSION
             Add expression to end of source file.

     -prologue FILENAME
             Include file before main source file.

     -epilogue FILENAME
             Include file after main source file.

             Compile as dynamically loadable code.

     -require-extension NAME
             Require and import extension NAME.

     -emit-link-file FILENAME
             Write a list of statically linked extensions to FILENAME, used for identifying the
             static objects that need to be linked to an executable.

     Obscure options:

     -debug MODES
             Display debugging output for the given modes.

     -raw    Do not generate implicit init- and exit code.

             Emit prototypes for callbacks before foreign declarations.

             Always emit import libraries, even when their contents haven't changed.  The default
             behaviour is to preserve existing import libraries.

             Do not refer to repository for extensions.

             Prefer the current directory when locating extensions.


     The following environment variables change the behaviour of chicken:

     CHICKEN_INCLUDE_PATH  Contains one or more pathnames where the compiler should additionally
                           look for include-files, separated by ‘;’ characters.

     CHICKEN_OPTIONS       Holds a string of default compiler options that should apply to every
                           invocation of chicken.


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


     chicken(1), chicken-install(1), chicken-uninstall(1)

     More information can be found in the CHICKEN User's Manual:


     The CHICKEN Team


     Submit bug reports by e-mail to