## 4.1 Command line format

`csi {FILENAME|OPTION}`

where `FILENAME` specifies a file with Scheme source-code. If the extension of the source file is `.scm`, it may be omitted. The runtime options described in 3.1 are also available for the interpreter. If the environment variable `CSI_OPTIONS` is set to a list of options, then these options are additionally passed to every direct or indirect invocation of `csi`. Please note that runtime options (like `-:...`) can not be passed using this method. The options recognized by the interpreter are:

-
  Ignore everything on the command-line following this marker. Runtime options (```-:...`'') are still recognized.

-case-insensitive
  Enables the reader to read symbols case insensitive. The default is to read case sensitive (in violation of R5RS). This option registers the `case-insensitive` feature identifier.

-batch
  Quit the interpreter after processing all command line options.

-eval EXPRESSIONS
  Evaluate `EXPRESSIONS`.

-feature SYMBOL
  Registers `SYMBOL` to be a valid feature identifier for `cond-expand`.

-help
  Write a summary of the available command line options to standard output and exit.

-hygienic
  Load syntax-case macro package and enable high-level macros in interpreted code. This option registers the `hygienic-macros` feature identifier.

-include-path PATHNAME
  Specifies an alternative search-path for files included via the `include` special form. This option may be given multiple times. If the environment variable `CHICKEN_INCLUDE_PATH` is set, it should contain a list of alternative include pathnames separated by ``;''. The environment variable `CHICKEN_HOME` is also considered as a search path.

-keyword-style STYLE
  Enables alternative keyword syntax, where `STYLE` may be either `prefix` (as in Common Lisp) or `suffix` (as in DSSSL). Any other value is ignored.

-no-feature SYMBOL
  Unregisters feature identifier `SYMBOL`.

-no-init
  Do not load initialization-file. If this option is not given and the file `/.csirc` exists, then it is loaded before the read-eval-print loop commences.

-no-warnings
  Disables any warnings that might be issued by the reader or evaluated code.

-quiet
  Do not print a startup message.

-r5rs
  Equivalent to `-hygienic -strict`.

-script PATHNAME
  This is equivalent to `-batch -quiet -no-init PATHNAME`. Arguments following `PATHNAME` are available by using `command-line-arguments` and are not processed as interpreter options.

-script-meta PATHNAME
  This is similar to the `-script` option, but the file specified by `PATHNAME` is opened, the first line is treated as containing additional command line options and (after processing all the options) the code from the given file is loaded.

-srfi-7
  Process any source files as SRFI-7 configuration language (see: the SRFI-7 document2).

-strict
  Disable non-standard macros. Implies `-strict-letrec` and `-strict-reader`.

-strict-srfi-0
  Disable non-standard macros except `cond-expand`. Implies `-strict-letrec` and `-strict-reader`.

-strict-reader
  Disables non-standard read syntax. Implies `-case-insensitive`.

-strict-letrec
  Enable fully R5RS compliant `letrec`. This generates slightly less efficient code but preserves standard semantics.

-version
  Write the banner with version information to standard output and exit.

-visit FILENAME
  Reads the source file `FILENAME` and performs macro-expansions. This makes macros defined in that file available without actually loading the code.

-setup EXTENSION | OPTION ... ARG1 ...
  Extracts, builds and/or installs a setup script.

2 http://srfi.schemers.org/srfi-7/srfi-7.html