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

FreeBSD Manual Pages

  
 
  

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	conve-
       nient 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
	       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, sepa-
			     rated 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

FreeBSD	Ports 14.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+14.3.quarterly>

home | help