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

FreeBSD Manual Pages

  
 
  

home | help
GUILE(1)			  GNU Guile 3.0 			GUILE(1)

NAME
     guile - The GNU Project Extension Language

SYNOPSIS
     guile [-L DIRECTORY] [-l FILE] [-e FUNCTION] [\] [-c EXPR] [-s SCRIPT] [--]
     [SCRIPT [ARGs for SCRIPT]]

     Only the most useful options are listed here; see below for the remainder.

DESCRIPTION
     GNU  Guile is an implementation of the Scheme programming language.  It ex-
     tends the R5RS and R6RS language standards, providing  additional	features
     necessary for real-world use.

     Guile  works  well  for  interactive use, basic scripting, and extension of
     larger applications, as well as for stand-alone Scheme application develop-
     ment.

     The guile executable itself provides a stand-alone interactive compiler and
     run-time for Scheme programs, both for interactive use  and  for  executing
     Scheme scripts or programs.

     This manual page provides only brief instruction in invoking guile from the
     command  line.  Please consult the Guile info documentation for more infor-
     mation, (type  info "(guile)Invoking Guile" at a command prompt).

OPTIONS
     -L DIRECTORY
	    Add DIRECTORY to the front of Guile's module load path.   The  given
	    directories  are searched in the order given on the command line and
	    before any directories in the GUILE_LOAD_PATH environment  variable.
	    Paths  added  here	are not in effect during execution of the user's
	    ~/.guile file.

     -C DIRECTORY
	    Like -L, but adjusts the load path for compiled files.

     -l FILE
	    Load Scheme source code from FILE, and continue processing the  com-
	    mand line.

     -e FUNCTION
	    After  reading  SCRIPT,  apply  FUNCTION  to command-line arguments.
	    Note that FUNCTION is evaluated, so, for example, (@ (my-module) my-
	    proc) is valid here.

     \	    The "meta switch", used to work around limitations	in  #!	scripts.
	    See "The Meta Switch" in the texinfo documentation for more details.

     --     Stop argument processing, and start guile in interactive mode.

     -c EXPR
	    Stop argument processing, and evaluate EXPR as a Scheme expression.

     -s SCRIPT-FILE
	    Load  Scheme  source from SCRIPT-FILE and execute as a script.  Note
	    that in many cases it is not necessary to use  -s;	one  may  invoke
	    guile simply as guile SCRIPT-FILE ARG...

     -ds    Carry out -s SCRIPT at this point in the option sequence.  Note that
	    this argument must be used in conjunction with -s.

     --debug
	    Start guile with the debugging VM.	By default, debugging is on when
	    guile is invoked interactively; it is off otherwise.

     --no-debug
	    Start guile without the debugging VM, even if guile is being run in-
	    teractively.

     --auto-compile
	    Compile source files automatically (default behavior).

     --fresh-auto-compile
	    Treat the auto-compilation cache as invalid, forcing recompilation.

     --no-auto-compile
	    Disable automatic source file compilation.

     --language LANG
	    For  the  remainder of the command line arguments, assume that files
	    mentioned with -l and expressions passed  with  -c	are  written  in
	    LANG,  which  must	be the name of one of the languages supported by
	    the compiler.  When run interactively, set the  REPL's  language  to
	    LANG.

     --listen[=P]
	    Listen  on	a  port  or socket for remote REPL connections.  See the
	    manual for more details.

     --use-srfi=N,M...
	    Load SRFI extensions N, M, etc.  For example,
	     --use-srfi=8,13.

     --r6rs, --r7rs
	    Adapt Guile's initial environment to better support  R6RS  or  R7RS.
	    See  "R6RS	Incompatibilities"  and  "R7RS Incompatibilities" in the
	    info pages for some caveats.

     -x EXTENSION
	    Add EXTENSION to the guile load extension list.

     -h, --help
	    Describe command-line options and exit.

     -v, --version
	    Display guile version and exit.

     -q     In interactive mode,  suppress  loading  the  user's  initialization
	    file, ~/.guile.

ENVIRONMENT
     GUILE_LOAD_PATH
	    If	$GUILE_LOAD_PATH  is  set  before guile is started, its value is
	    used to augment the path to search for Scheme  files  when	loading.
	    It	should	be  a colon-separated list of directories, which will be
	    prefixed to the default %load-path.

     GUILE_LOAD_COMPILED_PATH
	    If $GUILE_LOAD_COMPILED_PATH is set before	guile  is  started,  its
	    value  is  used  to  augment  the path to search for compiled Scheme
	    files (.go files) when loading.  It should be a colon-separated list
	    of directories, which will be prefixed  to	the  default  %load-com-
	    piled-path.

FILES
     ~/.guile
	    A  Guile script that is executed before any other processing occurs.
	    For example, the following .guile activates guile's readline  inter-
	    face:

	      (use-modules (ice-9 readline))
	      (activate-readline)

SEE ALSO
     The full documentation for Guile is maintained as a Texinfo manual.  If the
     info and guile programs are properly installed at your site, the command

	    info guile

     should give you access to the complete manual.

     http://www.schemers.org  provides a general introduction to the Scheme lan-
     guage.

REPORTING BUGS
     There is a mailing list, bug-guile@gnu.org, for reporting	Guile  bugs  and
     fixes.  But before reporting something as a bug, please try to be sure that
     it really is a bug, not a misunderstanding or a deliberate feature.  We ask
     you  to  read  the section ``Reporting Bugs'' in the Guile reference manual
     (or Info system) for hints on how and when to report bugs.   Also,  include
     the  version  number  of the Guile you are running in every bug report that
     you send in.  Bugs tend actually to get fixed if they can be  isolated,  so
     it is in your interest to report them in such a way that they can be easily
     reproduced.

COPYING
     Copyright (C) 2010, 2011, 2025 Free Software Foundation, Inc.

     Permission  is granted to make and distribute verbatim copies of this docu-
     ment provided the copyright notice and this permission notice are preserved
     on all copies.

     Permission is granted to copy and distribute modified versions of this doc-
     ument under the conditions for verbatim copying, provided that  the  entire
     resulting	derived  work is distributed under the terms of a permission no-
     tice identical to this one.

     Permission is granted to copy and distribute translations of this	document
     into  another  language,  under the above conditions for modified versions,
     except that this permission notice may be stated in a translation	approved
     by the Free Software Foundation.

AUTHORS
     Robert  Merkel <rgmerk@mira.net> wrote this manpage.  Rob Browning <rlb@de-
     faultvalue.org> has added to it.

     guile is GNU software.  Guile is originally based on  Aubrey  Jaffer's  SCM
     interpreter, and is the work of many individuals.

GNU				   2017-05-22				GUILE(1)

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

home | help