[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Invoking Gosh

Gauche can be used either as an independent Scheme interpreter or as an embedded Scheme library. The interpreter which comes with Gauche distribution is a program named gosh.

Program: gosh [options] [scheme-file arg ...]
Gauche's interpreter. Without scheme-file, gosh works interactively, i.e. it reads a Scheme expression from the standard input, evaluates it, and prints the result, and repeat that until it reads EOF or is terminated.

If gosh is invoked without scheme-file, but the input is not a terminal, it enters read-eval-print loop but not writes out a prompt while waiting input form. This is useful when you pipe Scheme program into gosh. You can force this behavior or suppress this behavior by -b and -i options.

If scheme-file is specified, gosh runs it as a Scheme program and exit. See section 3.4 Writing Scheme scripts, for details.

The following command line options are recognized by gosh. The first command line argument which doesn't begin with `-' is recognized as the script file. If you want to specify a file that begins with a minus sign, use a dummy option `--'.

Command Option: -I path
Prepends path to the load path list. You can specify this option more than once to add multiple paths.

Command Option: -A path
Appends path to the tail of the load path list. You can specify this option more than once to add multiple paths.

Command Option: -q
Makes gosh not to load the default initialization file.

Command Option: -V
Prints the gosh version and exits.

Command Option: -u module
Use module. Before starting execution of scheme-file or entering the read-eval-print loop, the specified module is used, i.e. it is loaded and imported (See section 4.11.2 Defining and selecting modules, for details of use). You can specify this option more than once to use multiple modules.

Command Option: -l file
Load file before starting execution of scheme-file or entering the read-eval-print loop. The file is loaded in the same way as load (See section 6.19.1 Loading Scheme file). You can specify this option more than once to load multiple files.

Command Option: -e scheme-expression
Evaluate scheme-expression before starting execution of scheme-file or entering the read-eval-print loop. Evaluation is done in the interaction-environment (See section 6.17 Eval and repl). You can specify this option more than once to evaluate multiple experssions.

Command Option: -E scheme-expression
Same as -e, except the scheme-experssion is read as if it is surrounded by parenthesis. For example:
 
% gosh -umath.const -E"print (sin (* pi/180 15))" -Eexit
0.25881904510252074

Command Option: -b
Batch. Does not print prompts in read-eval-print loop even if the input is a terminal.

Command Option: -i
Interactive. Print prompts in read-eval-print loop even if the input is not a terminal.

Command Option: -f compiler-option
This option controls the compiler behavior. For now we have following options available:
no-inline
Prohibits the compiler from inilining primitive Scheme procedures.
no-source-info
Don't keep source information for debugging. Consumes less memory.
load-verbose
Reports whenever a file is loaded.
case-fold
Ignore case for symbols as specified in R5RS. (It is distinguished by default). See section 2.3 Case-sensitivity.

Command Option: --
When gosh sees this option, it stops processing the options and takes next command line argument as a script file. It is useful in case if you have a script file that begins with a minus sign, although it is not generally recommended.

The options -I, -A, -l, -u, -e and -E are processes in the order of appearance. For example, adding a load path by -I affects the -l and -u option after it but not before it.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Ken Dickey on November, 28 2002 using texi2html