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

FreeBSD Manual Pages

  
 
  

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	subse-
       quent  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  de-
       tails.  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
       evaluates it, then prints the result, until EOF is read.	 If the	 stan-
       dard  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, -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.

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

       -vversion
	    If	version	is not the running Gauche's version, but the specified
	    verision is	installed in the system, execute taht  version's  gosh
	    instead.   This  is	useful when you	want to	invoke a specific ver-
	    sion 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
	    cursors.
	      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 argu-
	    ments after	this, they are taken as	script file name and its argu-
	    ments.

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

home | help