add ,expand and ,optimize
[bpt/guile.git] / doc / guile.1
dissimilarity index 80%
index ddf3cde..e36c2aa 100644 (file)
-.\" Written by Robert Merkel (rgmerk@mira.net)
-.\" augmented by Rob Browning <rlb@cs.utexas.edu>
-.\" Process this file with
-.\" groff -man -Tascii foo.1
-.\"
-.TH GUILE 1 "January 2001" Version "1.4"
-.SH NAME
-guile \- a Scheme interpreter
-.SH SYNOPSIS
-.B guile [-q] [-ds] [--help] [--version] [--emacs] [--debug]
-.B [-l FILE] [-e FUNCTION] [\]
-.B [-c EXPR] [-s SCRIPT] [--]
-.SH DESCRIPTION
-Guile is an interpreter for the Scheme programming language.  It
-implements a superset of R4RS, providing the additional features
-necessary for real-world use.  It is extremely simple to embed guile
-into a C program, calling C from Scheme and Scheme from C.  Guile's
-design makes it very suitable for use as an "extension" or "glue"
-language, but it also works well as a stand-alone scheme development
-environment.
-
-The
-.B guile
-executable itself provides a stand-alone interpreter for scheme
-programs, for either interactive use or executing scripts.
-
-This manpage provides only brief instruction in invoking
-.B guile
-from the command line.  Please consult the guile info documentation
-(type 
-.B info guile
-at a command prompt) for more information.  There is also a tutorial
-.B (info guile-tut) 
-available.
-
-.SH OPTIONS
-.IP -l FILE
-Load scheme source code from file.
-.IP -e FUNCTION
-After reading script, apply FUNCTION to command-line arguments
-.IP -ds
-do -s SCRIPT at this point (note that this argument must be used in
-conjuction with -s)
-.IP --help 
-Describe command line options and exit
-.IP --debug
-Start guile with debugging evaluator and backtraces enabled 
-(useful for debugging guile scripts)
-.IP --version
-Display guile version and exit.
-.IP --emacs
-Enable emacs protocol for use from within emacs (experimental)
-.IP --
-Stop argument processing, start guile in interactive mode.
-.IP -c EXPR
-Stop argument processing, evaluate EXPR as a scheme expression.
-.IP -s SCRIPT-FILE
-Load Scheme source from SCRIPT-FILE and execute as a script.
-
-.SH ENVIRONMENT
-.\".TP \w'MANROFFSEQ\ \ 'u
-.TP
-.B GUILE_LOAD_PATH
-If
-.RB $ GUILE_LOAD_PATH
-is set, its value is used to agument the path to search for scheme
-files when loading.  It should be a colon separated list of
-directories which will be prepended to the default %load-path.
-
-.SH FILES
-.I ~/.guile
-is a guile script that is executed before any other processing occurs.
-For example, the following .guile activates guile's readline
-interface:
-
-.RS 4
-(use-modules (ice-9 readline))
-.RS 0
-(activate-readline)
-
-.SH "SEE ALSO"
-.B info guile, info guile-tut
-
-http://www.schemers.org provides a general introduction to the
-Scheme language.
-
-.SH AUTHORS
-Robert Merkel <rgmerk@mira.net> wrote this manpage.  
-Rob Browning <rlb@cs.utexas.edu> has added to it.
-
-.B guile 
-is GNU software.  Guile is originally based on Aubrey Jaffer's
-SCM interpreter, and is the work of many individuals.
+.\" Written by Robert Merkel (rgmerk@mira.net)
+.\" augmented by Rob Browning <rlb@cs.utexas.edu>
+.\" Process this file with
+.\" groff -man -Tascii foo.1
+.\"
+.\" title section date source manual
+.TH GUILE 1 "2011-03-04" GNU "GNU Guile 2.0"
+.
+.SH NAME
+guile \- The GNU Project Extension Language
+.
+.SH SYNOPSIS
+.B guile
+.RB [\| \-L
+.IR DIRECTORY \|]
+.RB [\| \-l
+.IR FILE \|]
+.RB [\| \-e
+.IR FUNCTION \|]
+.\".RI [\| \\\\ \|]
+.RB [\| \e \|]
+.RB [\| \-c
+.IR EXPR \|]
+.RB [\| \-s
+.IR SCRIPT \|]
+.RB [\| \-\- \|]
+.RI [\| SCRIPT
+.RI [\| ARGs\ for\ SCRIPT \|]\c
+.RI ]
+
+Only the most useful options are listed here;
+see below for the remainder.
+.
+.SH DESCRIPTION
+GNU Guile is an implementation of the Scheme programming language.
+It extends 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 development.
+
+The
+.B 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
+.B guile
+from the command line.
+Please consult the Guile info documentation for more information,
+(type \fB info "(guile)Invoking Guile"\fR at a command prompt).
+.
+.SH OPTIONS
+.TP
+.BI -L \ DIRECTORY
+Add \fIDIRECTORY\fR to the front of Guile's module load path.
+.
+.TP
+.BI -l \ FILE
+Load Scheme source code from \fIFILE\fR.
+.
+.TP
+.BI -e \ FUNCTION
+After reading \fISCRIPT\fR, apply \fIFUNCTION\fR to command-line arguments.
+Note that \fIFUNCTION\fR is evaluated,
+so, for example,
+.B (@ (my-module) my-proc)
+is valid here.
+.
+.TP
+.B \e
+The "meta switch", used to work around limitations in #! scripts.
+See "The Meta Switch" in the texinfo documentation for more details.
+.
+.TP
+.B --
+Stop argument processing, and start
+.B guile
+in interactive mode.
+.
+.TP
+.BI -c \ EXPR
+Stop argument processing,
+and evaluate \fIEXPR\fR as a Scheme expression.
+.
+.TP
+.BI -s \ SCRIPT-FILE
+Load Scheme source from \fISCRIPT-FILE\fR and execute as a script.
+Note that in many cases it is not necessary to use \fB-s\fR;
+one may invoke
+.B guile
+simply as
+.B guile
+.I SCRIPT-FILE ARG...
+.
+.TP
+.B -ds
+Carry out \fB\-s \fISCRIPT\fR at this point in the option sequence.
+Note that this argument must be used in conjunction with \fB\-s\fR.
+.
+.TP
+.B --debug
+Start
+.B guile
+with the debugging VM.
+By default, debugging is on when
+.B guile
+is invoked interactively;
+it is off otherwise.
+.
+.TP
+.B --no-debug
+Start
+.B guile
+without the debugging VM,
+even if
+.B guile
+is being run interactively.
+.
+.TP
+.B --auto-compile
+Compile source files automatically (default behavior).
+.
+.TP
+.B --no-autocompile
+Disable automatic source file compilation.
+.
+.TP
+\fB\-\-listen\fR[=\fIP\fR]
+Listen on a port or socket for remote REPL connections.
+See the manual for more details.
+.
+.TP
+\fB\-\-use\-srfi\fR=\fIN,M\fR...
+Load SRFI extensions \fIN\fR, \fIM\fR, etc.
+For example,
+\fB \-\-use\-srfi\fR=\fI8,13\fR.
+.
+.TP
+.BI -x \ EXTENSION
+Add \fIEXTENSION\fR to the
+.B guile
+load extension list.
+.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Describe command-line options and exit.
+.
+.TP
+\fB\-v\fR, \fB\-\-version\fR
+Display guile version and exit.
+.
+.TP
+.B -q
+In interactive mode,
+suppress loading the user's initialization file,
+.I ~/.guile.
+.
+.SH ENVIRONMENT
+.\".TP \w'MANROFFSEQ\ \ 'u
+.TP
+.B GUILE_LOAD_PATH
+If
+.RB $ GUILE_LOAD_PATH
+is set before
+.B 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
+.B %load-path.
+.TP
+.B GUILE_LOAD_COMPILED_PATH
+If
+.RB $ GUILE_LOAD_COMPILED_PATH
+is set before
+.B 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
+.B %load-compiled-path.
+.
+.SH FILES
+.TP
+.I ~/.guile
+A Guile script that is executed before any other processing occurs.
+For example, the following
+.I .guile
+activates guile's readline interface:
+
+.RS 9
+.B (use-modules (ice-9 readline))
+.RS 0
+.B (activate-readline)
+.
+.SH "SEE ALSO"
+The full documentation for Guile is maintained as a Texinfo manual.
+If the
+.B info
+and
+.B guile
+programs are properly installed at your site,
+the command
+.IP
+.B info guile
+.PP
+should give you access to the complete manual.
+
+http://www.schemers.org provides a general introduction to the
+Scheme language.
+.
+.SH "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.
+.
+.SH COPYING
+Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of this
+document provided the copyright notice and this permission notice are
+preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+document under the conditions for verbatim copying,
+provided that the entire resulting derived work is distributed under the
+terms of a permission notice 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.
+.
+.SH AUTHORS
+Robert Merkel <rgmerk@mira.net> wrote this manpage.
+Rob Browning <rlb@cs.utexas.edu> has added to it.
+
+.B guile
+is GNU software.
+Guile is originally based on Aubrey Jaffer's SCM interpreter,
+and is the work of many individuals.