Gosh is a stand-alone Scheme interpreter built on top of the
Gauche Scheme implementation.
When
script is given, gosh loads the script, evaluating Scheme code in it.
Then, if the
script defines a procedure named
main, gosh calls it with a single argument which is a list of
the script name and subsequent arguments.
When
main returns an integer value, gosh exits with it as an exit code.
If
main returns non-integer value, or an error is signaled during
evaluation, gosh exits with exit code 70 (EX_SOFTWARE).
See SRFI-22 (http://srfi.schemers.org/srfi-22/srfi-22.html) for
details.
If there's no
main procedure defined in the script, gosh exits with code 0
after loading the script file.
If no script file is given, gosh goes into an interactive mode.
By default, gosh prompts the user to enter a Scheme expression,
read and evaluates it, then prints the result, until EOF is read.
If the standard input is not a terminal, however, gosh doesn't
print a prompt; it allows a user to use gosh as a filter program.
This behavior can be controlled by -i or -b option; see below.
OPTIONS
Command line options are processed before loading the script file
or entering the interactive mode.
The options -I, -A, -u, -l, -e and -E are processed in the order
of appearance. For example, adding a load path by -I option
affects the -l options after it, but not the ones before it.
-V
Prints gosh version and exits.
-b
Batch mode. Doesn't print prompt even the standard input
is a terminal. Supersedes -i.
-i
Interactive mode. Forces to print prompt, even the standard input
is not a terminal.
-q
Prevents reading the default initialization file.
-I path
Adds
path in front of the load path list.
-A path
Appends
path to the tail of the load path list.
-u module
Loads and imports
module, as if "(use
module )" is specified in the code.
-l file
Loads a Scheme file
file.
-e expr
Evaluates a Scheme expression
expr.
-E expr
Same as -e, except that the
expr is read as if it is surrounded by parenthesis.
-f flag
Sets various flags.
no-inline don't inline primitive procedures
no-source-info don't preserve source information for debug
load-verbose report while loading files
case-fold uses case-insensitive reader (as in R5RS)
--
Specifies that there are no more options. If there are more
arguments after this, they are taken as script file name and
its arguments.
ENVIRONMENT
GAUCHE_LOAD_PATH
A colon separated list of the load paths.
The paths are appended before the system default load paths.
GAUCHE_DYNLOAD_PATH
A colon separated list of the load paths for dynamically loaded
objects.
The paths are appended before the system default load paths.