Man Linux: Main Page and Category List


       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
       (   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
            the code.

            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