temporarily disable elisp exception tests
[bpt/guile.git] / doc / guile.1
CommitLineData
4cd27226
MV
1.\" Written by Robert Merkel (rgmerk@mira.net)
2.\" augmented by Rob Browning <rlb@cs.utexas.edu>
3.\" Process this file with
4.\" groff -man -Tascii foo.1
5.\"
900a6f87 6.\" title section date source manual
0c81a0c1 7.TH GUILE 1 "2011-03-04" GNU "GNU Guile 2.2"
900a6f87 8.
4cd27226 9.SH NAME
900a6f87
MH
10guile \- The GNU Project Extension Language
11.
4cd27226 12.SH SYNOPSIS
900a6f87
MH
13.B guile
14.RB [\| \-L
15.IR DIRECTORY \|]
16.RB [\| \-l
17.IR FILE \|]
18.RB [\| \-e
19.IR FUNCTION \|]
20.\".RI [\| \\\\ \|]
21.RB [\| \e \|]
22.RB [\| \-c
23.IR EXPR \|]
24.RB [\| \-s
25.IR SCRIPT \|]
26.RB [\| \-\- \|]
27.RI [\| SCRIPT
28.RI [\| ARGs\ for\ SCRIPT \|]\c
29.RI ]
2116e658 30
900a6f87
MH
31Only the most useful options are listed here;
32see below for the remainder.
33.
4cd27226 34.SH DESCRIPTION
900a6f87
MH
35GNU Guile is an implementation of the Scheme programming language.
36It extends the R5RS and R6RS language standards,
37providing additional features necessary for real-world use.
38
39Guile works well for interactive use,
40basic scripting,
41and extension of larger applications,
42as well as for stand-alone Scheme application development.
4cd27226
MV
43
44The
45.B guile
2116e658 46executable itself provides a stand-alone interactive compiler and
900a6f87
MH
47run-time for Scheme programs,
48both for interactive use and for executing Scheme scripts or programs.
4cd27226 49
2116e658 50This manual page provides only brief instruction in invoking
4cd27226 51.B guile
900a6f87
MH
52from the command line.
53Please consult the Guile info documentation for more information,
54(type \fB info "(guile)Invoking Guile"\fR at a command prompt).
55.
4cd27226 56.SH OPTIONS
900a6f87
MH
57.TP
58.BI -L \ DIRECTORY
59Add \fIDIRECTORY\fR to the front of Guile's module load path.
60.
61.TP
62.BI -l \ FILE
63Load Scheme source code from \fIFILE\fR.
64.
65.TP
66.BI -e \ FUNCTION
67After reading \fISCRIPT\fR, apply \fIFUNCTION\fR to command-line arguments.
68Note that \fIFUNCTION\fR is evaluated,
69so, for example,
2116e658
AW
70.B (@ (my-module) my-proc)
71is valid here.
900a6f87
MH
72.
73.TP
74.B \e
2116e658 75The "meta switch", used to work around limitations in #! scripts.
900a6f87
MH
76See "The Meta Switch" in the texinfo documentation for more details.
77.
78.TP
79.B --
80Stop argument processing, and start
81.B guile
82in interactive mode.
83.
84.TP
85.BI -c \ EXPR
86Stop argument processing,
87and evaluate \fIEXPR\fR as a Scheme expression.
88.
89.TP
90.BI -s \ SCRIPT-FILE
91Load Scheme source from \fISCRIPT-FILE\fR and execute as a script.
92Note that in many cases it is not necessary to use \fB-s\fR;
93one may invoke
94.B guile
95simply as
96.B guile
97.I SCRIPT-FILE ARG...
98.
99.TP
100.B -ds
101Carry out \fB\-s \fISCRIPT\fR at this point in the option sequence.
102Note that this argument must be used in conjunction with \fB\-s\fR.
103.
104.TP
105.B --debug
106Start
107.B guile
108with the debugging VM.
109By default, debugging is on when
110.B guile
111is invoked interactively;
112it is off otherwise.
113.
114.TP
115.B --no-debug
116Start
117.B guile
118without the debugging VM,
119even if
120.B guile
121is being run interactively.
122.
123.TP
124.B --auto-compile
2116e658 125Compile source files automatically (default behavior).
900a6f87
MH
126.
127.TP
128.B --no-autocompile
2116e658 129Disable automatic source file compilation.
900a6f87
MH
130.
131.TP
132\fB\-\-listen\fR[=\fIP\fR]
133Listen on a port or socket for remote REPL connections.
134See the manual for more details.
135.
136.TP
137\fB\-\-use\-srfi\fR=\fIN,M\fR...
138Load SRFI extensions \fIN\fR, \fIM\fR, etc.
139For example,
140\fB \-\-use\-srfi\fR=\fI8,13\fR.
141.
142.TP
143.BI -x \ EXTENSION
144Add \fIEXTENSION\fR to the
145.B guile
146load extension list.
147.
148.TP
149\fB\-h\fR, \fB\-\-help\fR
150Describe command-line options and exit.
151.
152.TP
153\fB\-v\fR, \fB\-\-version\fR
2116e658 154Display guile version and exit.
900a6f87
MH
155.
156.TP
157.B -q
158In interactive mode,
159suppress loading the user's initialization file,
160.I ~/.guile.
161.
4cd27226
MV
162.SH ENVIRONMENT
163.\".TP \w'MANROFFSEQ\ \ 'u
164.TP
165.B GUILE_LOAD_PATH
166If
167.RB $ GUILE_LOAD_PATH
900a6f87
MH
168is set before
169.B guile
170is started,
171its value is used to augment the path to search for Scheme files when
172loading.
173It should be a colon-separated list of directories,
174which will be prefixed to the default
175.B %load-path.
176.TP
2116e658
AW
177.B GUILE_LOAD_COMPILED_PATH
178If
179.RB $ GUILE_LOAD_COMPILED_PATH
900a6f87
MH
180is set before
181.B guile
182is started,
183its value is used to augment the path to search for compiled
184Scheme files (.go files) when loading.
185It should be a colon-separated list of directories,
186which will be prefixed to the default
187.B %load-compiled-path.
188.
4cd27226 189.SH FILES
900a6f87 190.TP
4cd27226 191.I ~/.guile
900a6f87
MH
192A Guile script that is executed before any other processing occurs.
193For example, the following
194.I .guile
195activates guile's readline interface:
4cd27226 196
900a6f87
MH
197.RS 9
198.B (use-modules (ice-9 readline))
4cd27226 199.RS 0
900a6f87
MH
200.B (activate-readline)
201.
4cd27226 202.SH "SEE ALSO"
900a6f87
MH
203The full documentation for Guile is maintained as a Texinfo manual.
204If the
205.B info
206and
207.B guile
208programs are properly installed at your site,
209the command
1660414a
LC
210.IP
211.B info guile
212.PP
213should give you access to the complete manual.
4cd27226
MV
214
215http://www.schemers.org provides a general introduction to the
216Scheme language.
900a6f87 217.
a7d8a8a6 218.SH "REPORTING BUGS"
900a6f87
MH
219There is a mailing list,
220bug-guile@gnu.org,
221for reporting Guile bugs and fixes.
222But before reporting something as a bug,
223please try to be sure that it really is a bug,
224not a misunderstanding or a deliberate feature.
a7d8a8a6 225We ask you to read the section ``Reporting Bugs'' in the Guile reference
900a6f87
MH
226manual (or Info system) for hints on how and when to report bugs.
227Also, include the version number of the Guile you are running in every bug
228report that you send in.
229Bugs tend actually to get fixed if they can be isolated,
230so it is in your interest to report them in such a way that they can be
231easily reproduced.
232.
a7d8a8a6 233.SH COPYING
900a6f87 234Copyright (C) 2010, 2011 Free Software Foundation, Inc.
a7d8a8a6
NJ
235
236Permission is granted to make and distribute verbatim copies of this
237document provided the copyright notice and this permission notice are
238preserved on all copies.
239
240Permission is granted to copy and distribute modified versions of this
900a6f87
MH
241document under the conditions for verbatim copying,
242provided that the entire resulting derived work is distributed under the
243terms of a permission notice identical to this one.
a7d8a8a6
NJ
244
245Permission is granted to copy and distribute translations of this
900a6f87
MH
246document into another language,
247under the above conditions for modified versions,
248except that this permission notice may be stated in a
a7d8a8a6 249translation approved by the Free Software Foundation.
900a6f87 250.
4cd27226 251.SH AUTHORS
900a6f87 252Robert Merkel <rgmerk@mira.net> wrote this manpage.
4cd27226
MV
253Rob Browning <rlb@cs.utexas.edu> has added to it.
254
900a6f87
MH
255.B guile
256is GNU software.
257Guile is originally based on Aubrey Jaffer's SCM interpreter,
258and is the work of many individuals.