Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
GOSH(1) 			 Gauche Commands			 GOSH(1)

NAME
     gosh - a Scheme script interpreter

SYNOPSIS
     gosh  [-bhiqV] [-I path ] [-A path ] [-u module ] [-l file ] [-L file ] [-e
     expr ] [-E expr ] [-m module ] [-f flag ] [-F feature  ]  [-p  type  ]  [-r
     standard ] [--] [ script argument ...  ]

DESCRIPTION
     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  argu-
     ments.   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 de-
     fault, gosh prompts the user to enter a Scheme expression, read and  evalu-
     ates  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 enter-
     ing the interactive mode.

     The options -I, -A, -u, -l, -L, -e and -E are processed in the order of ap-
     pearance.	For example, adding a load path by -I option affects the -l  op-
     tions 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 termi-
	  nal.	Supersedes -i.

     -h   Print help message to stdout and exit with 0.

     -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.

     -Lfile
	  Like -l, but doesn't complain if file doesn't exist.

     -eexpr
	  Evaluates a Scheme expression expr.

     -Eexpr
	  Same as -e, except that the expr is read as if  it  is  surrounded  by
	  parenthesis.

     -mmodule
	  When	the  script file is given, this option specifies the name of the
	  module in which the "main"  procedure  is  defined.	The  default  is
	  "user".

     -ptype
	  Turns on the profiler.  Type can be either 'time' or 'load'.

     -rstandard
	  Starts  gosh	with the default environment defined in RnRS, where n is
	  determined by standard.  Currently, only 7 is the valid value of stan-
	  dard.

     -vversion
	  If version is not the running  Gauche's  version,  but  the  specified
	  verision  is	installed in the system, execute taht version's gosh in-
	  stead.  This is useful when you want to invoke a specific  version  of
	  Gauche.  The version must be 0.9.6 or later.

     -fflag
	  Sets various flags.
	    case-fold	    use case-insensitive reader (as in R5RS)
	    load-verbose    report while loading files
	    include-verbose report while including files
	    no-inline	    don't inline primitive procedures and constants
			    (combined no-inline-globals, no-inline-locals,
			    no-inline-constants and no-inline-setters.)
	    no-inline-globals don't inline global procedures.
	    no-inline-locals  don't inline local procedures.
	    no-inline-constants don't inline constants.
	    no-inline-setters don't inline setters.
	    no-post-inline-pass don't run post-inline optimization pass.
	    no-lambda-lifting-pass don't run lambda lifting optimization pass.
	    no-post-inline-pass  don't run post-inline optimization pass.
	    no-source-info  don't retain source information.
	    read-edit	    enable input editing mode, if terminal supports it.
	    no-read-edit    disable input editing mode.
	    safe-string-cursors performs extra validation for use of string cur-
	  sors.
	    warn-legacy-syntax print warning when legacy Gauche syntax
			    is encountered.
	    test	    assume being run in the build tree; tries to
			    load files from the current build instead of
			    installation directories.  Useful to test
			    the build without installation.

     -Ffeature
	  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 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 script engine:
     https://practical-scheme.net/gauche/

     For the information about Scheme language, see
     https://www.schemers.org/

Gauche 0.9.15								 GOSH(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gosh&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help