gosh - a Scheme script interpreter
gosh [-biqV] [-I path ] [-A path ] [-u module ] [-l file ] [-e expr ]
[-E expr ] [-f flag ] [--] [ script argument ... ]
Gosh is a stand-alone Scheme interpreter built on top of the Gauche
Scheme script engine.
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-.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.
Command line options are processed before loading the script file or
entering the interactive mode.
The options -I, -A, -u, -l, -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.
Adds path in front of the load path list.
Appends path to the tail of the load path list.
Loads and imports module, as if "(use module )" is specified in
Loads a Scheme file file.
Like -l, but doesn’t complain if file doesn’t exist.
Evaluates a Scheme expression expr.
Same as -e, except that the expr is read as if it is surrounded by
Turns on the profiler. Currently type can only be ’time’.
Sets various flags.
case-fold uses case-insensitive reader (as in R5RS)
load-verbose report while loading files
no-inline don’t inline primitive procedures and constants
(combined no-inline-globals, no-inline-locals,
no-inline-globals don’t inline global procedures.
no-inline-locals don’t inline local procedures.
no-inline-constants don’t inline constants.
no-post-inline-pass don’t run post-inline optimization pass.
Makes feature available in cond-expand forms.
-- Specifies that there are no more options. If there are more
arguments after this, they are taken as script file name and its
A colon separated list of the load paths. The paths are
appended before the system default load paths.
A colon separated list of the load paths for dynamically loaded
objects. The paths are appended before the system default load
Shiro Kawai (shiro @ acm . org)
Gauche Scheme script engine:
For the information about Scheme language, see