Provided by: chicken-bin_5.3.0-1_amd64 bug

NAME

     chicken — A Scheme-to-C translator

SYNOPSIS

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

DESCRIPTION

     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.

     -version
             Display compiler version and exit.

     -release
             Print release number and exit.

     -verbose
             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.

     -to-stdout
             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:

     -case-insensitive
             Don't preserve case of read symbols.

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

     -no-parentheses-synonyms
             Disables list delimiter synonyms.

     -no-symbol-escape
             Disables support for escaped symbols.

     -r5rs-syntax
             Disables the CHICKEN extensions to R5RS syntax.

     -compile-syntax
             Macros are made available at run-time.

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

     -emit-all-import-libraries
             Emit import-libraries for all defined modules.

     -no-compiler-syntax
             Disable expansion of compiler-macros.

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

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

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

     Translation options:

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

     -static
             Link extensions statically.

     -check-syntax
             Stop compilation after macro-expansion.

     -analyze-only
             Stop compilation after first analysis pass.

     Debugging options:

     -no-warnings
             Disable warnings.

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

     -no-trace
             Disable tracing information.

     -profile
             Executable emits profiling information.

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

     -accumulate-profile
             Executable emits profiling information in append mode.

     -no-lambda-info
             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.

     -optimize-leaf-routines
             Enable leaf routine optimization.

     -no-usual-integrations
             Standard procedures may be redefined.

     -unsafe
             Disable all safety checks.

     -local  Assume globals are only modified in current file.

     -block  Enable block-compilation.

     -disable-interrupts
             Disable interrupts in compiled code.

     -fixnum-arithmetic
             Assume all numbers are fixnums.

     -disable-stack-overflow-checks
             Disables detection of stack-overflows.

     -inline
             Enable inlining.

     -inline-limit LIMIT
             Set inlining threshold.

     -inline-global
             Enable cross-module inlining.

     -specialize
             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.

     -no-argc-checks
             Disable argument count checks.

     -no-bound-checks
             Disable bound variable checks.

     -no-procedure-checks
             Disable procedure call checks.

     -no-procedure-checks-for-usual-bindings
             Disable procedure call checks only for usual bindings.

     -no-procedure-checks-for-toplevel-bindings
             Disable procedure call checks for toplevel bindings.

     -strict-types
             Assume variable do not change their type.

     -clustering
             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.

     -dynamic
             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-external-prototypes-first
             Emit prototypes for callbacks before foreign declarations.

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

     -ignore-repository
             Do not refer to repository for extensions.

     -setup-mode
             Prefer the current directory when locating extensions.

ENVIRONMENT

     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.

EXIT STATUS

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

SEE ALSO

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

     More information can be found in the CHICKEN User's Manual: http://wiki.call-
     cc.org/manual/index.

AUTHORS

     The CHICKEN Team

BUGS

     Submit bug reports by e-mail to chicken-janitors@nongnu.org