Commit | Line | Data |
---|---|---|
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 |
10 | guile \- 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 |
31 | Only the most useful options are listed here; |
32 | see below for the remainder. | |
33 | . | |
4cd27226 | 34 | .SH DESCRIPTION |
900a6f87 MH |
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. | |
4cd27226 MV |
43 | |
44 | The | |
45 | .B guile | |
2116e658 | 46 | executable itself provides a stand-alone interactive compiler and |
900a6f87 MH |
47 | run-time for Scheme programs, |
48 | both for interactive use and for executing Scheme scripts or programs. | |
4cd27226 | 49 | |
2116e658 | 50 | This manual page provides only brief instruction in invoking |
4cd27226 | 51 | .B guile |
900a6f87 MH |
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 | . | |
4cd27226 | 56 | .SH OPTIONS |
900a6f87 MH |
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, | |
2116e658 AW |
70 | .B (@ (my-module) my-proc) |
71 | is valid here. | |
900a6f87 MH |
72 | . |
73 | .TP | |
74 | .B \e | |
2116e658 | 75 | The "meta switch", used to work around limitations in #! scripts. |
900a6f87 MH |
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 | |
2116e658 | 125 | Compile source files automatically (default behavior). |
900a6f87 MH |
126 | . |
127 | .TP | |
128 | .B --no-autocompile | |
2116e658 | 129 | Disable automatic source file compilation. |
900a6f87 MH |
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 | |
2116e658 | 154 | Display guile version and exit. |
900a6f87 MH |
155 | . |
156 | .TP | |
157 | .B -q | |
158 | In interactive mode, | |
159 | suppress 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 | |
166 | If | |
167 | .RB $ GUILE_LOAD_PATH | |
900a6f87 MH |
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 | |
2116e658 AW |
177 | .B GUILE_LOAD_COMPILED_PATH |
178 | If | |
179 | .RB $ GUILE_LOAD_COMPILED_PATH | |
900a6f87 MH |
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 | . | |
4cd27226 | 189 | .SH FILES |
900a6f87 | 190 | .TP |
4cd27226 | 191 | .I ~/.guile |
900a6f87 MH |
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: | |
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 |
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 | |
1660414a LC |
210 | .IP |
211 | .B info guile | |
212 | .PP | |
213 | should give you access to the complete manual. | |
4cd27226 MV |
214 | |
215 | http://www.schemers.org provides a general introduction to the | |
216 | Scheme language. | |
900a6f87 | 217 | . |
a7d8a8a6 | 218 | .SH "REPORTING BUGS" |
900a6f87 MH |
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. | |
a7d8a8a6 | 225 | We ask you to read the section ``Reporting Bugs'' in the Guile reference |
900a6f87 MH |
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 | . | |
a7d8a8a6 | 233 | .SH COPYING |
900a6f87 | 234 | Copyright (C) 2010, 2011 Free Software Foundation, Inc. |
a7d8a8a6 NJ |
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 | |
900a6f87 MH |
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. | |
a7d8a8a6 NJ |
244 | |
245 | Permission is granted to copy and distribute translations of this | |
900a6f87 MH |
246 | document into another language, |
247 | under the above conditions for modified versions, | |
248 | except that this permission notice may be stated in a | |
a7d8a8a6 | 249 | translation approved by the Free Software Foundation. |
900a6f87 | 250 | . |
4cd27226 | 251 | .SH AUTHORS |
900a6f87 | 252 | Robert Merkel <rgmerk@mira.net> wrote this manpage. |
4cd27226 MV |
253 | Rob Browning <rlb@cs.utexas.edu> has added to it. |
254 | ||
900a6f87 MH |
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. |