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