File: mzscheme.1

package info (click to toggle)
drscheme 1%3A209-5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 59,656 kB
  • ctags: 49,370
  • sloc: ansic: 254,796; cpp: 59,293; sh: 20,675; lisp: 14,368; makefile: 5,096; pascal: 3,724; perl: 2,814; asm: 1,070; java: 843; yacc: 755; lex: 258; sed: 93
file content (366 lines) | stat: -rw-r--r-- 7,018 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
.\" dummy line
.TH MZSCHEME 1 "June 2003"
.UC 4
.SH NAME
mzscheme \- The PLT Scheme implementation
.SH SYNOPSIS
.B mzscheme
[
.I option ...
] [
.I argument ...
]
.SH DESCRIPTION
.I MzScheme
is the PLT
Scheme implementation.  It implements the language as
described in the
.I Revised^5 Report on
.I the Algorithmic Language Scheme
and adds numerous extensions.
.PP
.I MrEd
embeds and extends MzScheme with a graphical user interface (GUI) toolbox.
.PP
.I DrScheme
is the graphical development environment for creating
.I MzScheme
and
.I MrEd
applications.

.SH STARTUP FILE AND EXPRESSION OPTIONS

.TP
.BI \-e \ expr
.TP
.BI \--eval \ expr
Evaluates
.I expr
after
.I MzScheme
starts.
.TP
.BI \-f \ file
.TP
.BI \--load \ file
Loads
.I file
after
.I MzScheme
starts.
.TP
.BI \-d \ file
.TP
.BI \--load-cd \ file
Load/cds
.I file
after
.I MzScheme
starts.
.TP
.BI \-t \ file
.TP
.BI \--require \ file
Requires
.I file
after
.I MzScheme
starts.
.TP
.B \-F
.TP
.B \--Load
.br
Loads all remaining arguments after
.I MzScheme
starts.
.TP
.B \-D
.TP
.B \--Load-cd
.br
Load/cds all remaining arguments after
.I MzScheme
starts.
.TP
.B \-T
.TP
.B \--Require
.br
Requires all remaining arguments after
.I MzScheme
starts.
.TP
.BI \-l \ file
.TP
.BI \--mzlib \ file
Same as
.BR -e \ '(require\ (lib\ "\|\c
.I file\|\c
"))'.
.TP
.BI \-L \ file \  coll
Same as
.BR -e \ '(require\ (lib\ "\|\c
.I file\|\c
" "\|\c
.I coll\|\c
"))'.
.TP
.BI \-M \ coll
Same as
.BR -e \ '(require\ (lib\ "\|\c
.I coll\|\c
\|.ss" "\|\c
.I coll\|\c
"))'.
.TP
.B \-r
.TP
.B \--script
Script mode: use as last flag for scripts.
Same as
.BR -fmv- .
.TP
.B \-i
.TP
.B \--script-cd
Like -r, but also sets the directory.
Same as 
.BR -dmv- .
.TP
.B \-u
.TP
.B --require-script
Like -r, but requires a module.
Same as
.BR -tmv- .
.TP
.B \-i
.TP
.B \-w
.TP
.B \--awk
Same as
.B -l
.BR awk.ss .
.TP
.BI \-k \ n \  m
Load executable-embedded code from file offset
.I n
to
.IR m .
.TP
.B \-C
.TP
.B \--main
Like -r, then calls `main' with a list of argument strings. The first 
string in the list is the name of the loaded file, and
the rest of the list contains leftover command-line arguments.
.PP

.SH INITIALIZATION OPTIONS
.TP
.B \-x
.TP
.B \--no-lib-path
Skips trying to set current-library-collection-paths.
.TP
.B \-q
.TP
.B \--no-init-file
Skips trying to load "~/.mzschemerc".
.TP
.B \-A
.TP
.B \--no-argv
Skips defining `argv' and `program'.
.PP

.SH LANGUAGE SETTING OPTIONS
.TP
.B \-g
.TP
.B \--case-sens
Identifiers and symbols are initially case-sensitive.
.B \-s
.TP
.B \--set-undef
Set! works on undefined identifiers.
.PP

.SH MISCELLANEOUS OPTIONS
.TP
.B \--
.br
No argument following this switch is used as a switch.
.TP
.B \-p
.TP
.B \--persistent
Catches AIX SIGDANGER (low page space) signal. (AIX only)
.TP
.B \-m
.TP
.B \--mute-banner
Suppresses the startup banner.
.TP
.B \-v
.TP
.B \--version
Suppresses the read-eval-print loop.
.TP
.B \-h
.TP
.B \--help
Shows help for command-line arguments.
.TP
.BI \-R file
.TP
.BI \--restore \ file
Restores an image; must be the only switch. (Special versions only)

.SH OPTION CONVENTIONS

Multiple single-letter switches can be collapsed, with arguments placed
after the collapsed switches; the first collapsed switch cannot be
.BR -- .
E.g.:
.B -vfme file expr
is the same as
.B -v -f file -m -e
.BR expr .
.PP
Extra arguments following the last switch are put into the Scheme global
variable `argv' as a vector of strings. The name used to start 
.I MzScheme
is put into the global variable `program' as a string.
.PP
Extra arguments after a 
.B --restore
file are returned as a vector of
strings to the continuation of the `write-image-to-file' call that created
the image.
.PP
Expressions/files are evaluated/loaded in order as provided, including
calls to
.B main
implied by
.BR --main ,
embedded segments loaded by
.BR -k ,
and so on. An uncaught exception during an evaluation/load causes later
evaluations/loads to be skipped.
.PP
The current-library-collections-paths parameter is automatically set before any
expressions/files are evaluated/loaded, unless the
.B -x
or
.B --no-lib-path
switch is used.  

.SH EXECUTABLE NAME
If the executable name has the form scheme-\|\c
.I dialect\|\c
, then the command line is effectively prefixed with
.ce 1
-qAeC '(require (lib "init.ss" "script-lang" "\|\c
.I dialect\|\c
"))'
The first actual command-line argument thus serves as the name of a file
to load. The file should define
.BR main ,
which is called with the command-line arguments---starting with the
loaded file name---as a list of immutable strings.

.SH FILES
The file "~/.mzschemerc" is loaded before any provided
expressions/files are evaluated/loaded, unless the
.B -q 
or 
.B --no-init-file 
switch is used.
.PP
The library collections search path is read
from the PLTCOLLECTS environment variable
(as a colon-separated list of paths). Wherever the empty path
appears appears in PLTCOLLECTS, it is replaced with the default
collections directory. If PLTCOLLECTS is not defined, the default
collections directory is used as the only element in the search path.
.PP
.I MzScheme
looks for the default collections directory as one of the 
following (tried in order):
.IP
The path in the environment variable PLTHOME is checked
for a "collects" subdirectory.
.IP
If
.I MzScheme
was invoked with an absolute pathname, the directory of the invoked
executable is checked. If the executable is a link, the directory of
the referenced file is also checked, recursively following links. The
parent directories and the parent's parent directories are also
checked (in case
.I MzScheme
is in a "bin" directory or a ".bin/\c
.I platform\|\c
" directory).
.IP
If
.I MzScheme
is invoked with a relative pathname, the directories in the PATH
environment variable containing a file with the name of the program as
invoked (usually "mzscheme") are checked. Links and parent directories
are followed as in the first case.
.IP
The "/usr/local/lib/plt/collects" directory is 
tried.

.SH EXECUTABLE SCRIPTS
The most flexible way to create an executable script file is to
trampoline through /bin/sh, using a #| ... |# block-comment trick to make the first few lines
parseable by both /bin/sh and mzscheme. Here's an example:
.PP
.PD 0
.PP
  #! /bin/sh
.PP
  #|
.PP
  exec mzscheme -qr "$0" ${1+"$@"}
.PP
  |#
.PP
  (display "Hello, world!")
.PP
  (newline)
.PD

.SH MORE INFORMATION
For further information on
.IR MzScheme ,
please consult the on-line
documentation and other information available at
.PP
.ce 1
http://www.plt-scheme.org/software/mzscheme/

.SH BUGS
Submit bug reports via
.ce 1
http://bugs.plt-scheme.org/ (encouraged)
or by e-mail to
.ce 1
bugs@plt-scheme.org (discouraged)
.SH AUTHOR
.I MzScheme
was implemented by Matthew Flatt (mflatt@plt-scheme.org).
It uses the conservative garbage collector implemented by Hans 
Boehm and extended by John Ellis. MzScheme was originally based 
on libscheme, written by Brent Benson.
.SH SEE ALSO
.BR help-desk(1),
.BR drscheme(1),
.BR mred(1)