Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
CHICKEN(1)		     General Commands Manual		      CHICKEN(1)

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 li-
	     braries 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 exe-
	     cutable.

     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 li-
	     braries.

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

AUTHORS
     The CHICKEN Team

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

FreeBSD ports 15.quarterly	  Apr 26, 2017			      CHICKEN(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=chicken&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help