NAME
gosh - a Scheme script interpreter
SYNOPSIS
gosh [-biqV] [-I path ] [-A
path ] [-u module ] [-l file ] [-e expr
] [-E expr ] [-f flag ] [--] [ script argument
... ]
DESCRIPTION
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.
- -Ipath
- Adds path in front of the load path list.
- -Apath
- Appends path to the tail of the load path list.
- -umodule
- Loads and imports module, as if "(use module )"
is specified in the code.
- -lfile
- Loads a Scheme file file.
- -eexpr
- Evaluates a Scheme expression expr.
- -Eexpr
- Same as -e, except that the expr is read as if it is
surrounded by parenthesis.
- -fflag
- 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.
AUTHORS
Shiro Kawai (shiro @ acm . org)
SEE ALSO
gauche-config(1)
Gauche Scheme interpreter:
http://practical-scheme.net/gauche/
For the information about Scheme language, see
http://www.schemers.org/