| 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. |