CHICKEN(1)
π CHICKEN(1) β A Scheme-to-C translator
okay bestie, welcome to the General Commands Manual page for chicken β it's giving compiler-core main-character energy β¨
πΈ 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 isout.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,suffixornone).-no-parentheses-synonymsβ Disables list delimiter synonyms.-r7rs-syntaxβ Disables the CHICKEN extensions to R7RS 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 unitslibraryandevalby 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. Big yikes, bestie β this one is exactly as sharp as it sounds π-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.-lfa2β Perform additional lightweight flow-analysis pass.-unroll-limit LIMITβ Specifies inlining limit for self-recursive calls.-merge-reusable-closuresβ Enables closure reuse.-merge-shareable-closuresβ Enables closure sharing.
π 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 extensionNAME.-emit-link-file FILENAMEβ Write a list of statically linked extensions toFILENAME, 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 ofchicken.
β EXIT STATUS β
The chicken utility exits 0 on success, and >0 if an error occurs.
π¦ SEE ALSO π¦
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.
β¨ cute sign-off: this page is from Debian, dated Apr 26, 2017 β periodt, bestie π π
π¦ where this page comes from
- arch rolling: chicken 6.0.0-1 Β· BSD-3-Clause AND GPL-2.0-or-later AND custom:Public-Domain
- nixpkgs unstable: chicken 6.0.0
- Copyright (c) 2007-2022, The CHICKEN Team
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms