269 lines
5.8 KiB
Groff
269 lines
5.8 KiB
Groff
.\" dummy line
|
|
.TH MZSCHEME 1 "November 2007"
|
|
.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 \ exprs\fR,\ \fP \-\^\-eval \ exprs
|
|
Evaluates
|
|
.I exprs
|
|
and prints each result.
|
|
.TP
|
|
.BI \-f \ file\fR,\ \fP \-\^\-load \ file
|
|
Loads
|
|
.I file
|
|
and prints the last result from the file.
|
|
.TP
|
|
.BI \-t \ file\fR,\ \fP \-\^\-require \ file
|
|
Requires
|
|
.I file
|
|
.TP
|
|
.BI \-l \ path\fR,\ \fP \-\^\-lib \ path
|
|
Same as
|
|
.BR -e \ '(require\ (lib\ "\|\c
|
|
.I path\|\c
|
|
"))'.
|
|
.TP
|
|
.BI \-p \ file \ user \ package
|
|
Same as
|
|
.BR -e \ '(require\ (planet\ "\|\c
|
|
.I file\|\c
|
|
\|" "\|\c
|
|
.I user\|\c
|
|
\|" "\|\c
|
|
.I package\|\c
|
|
"))'.
|
|
.TP
|
|
.TP
|
|
.B \-r\fR,\fP \-\^\-script
|
|
Script mode; same as
|
|
.BR -f- .
|
|
.TP
|
|
.B \-u\fR,\fP \-\^\-require-script
|
|
Module script mode; same as
|
|
.BR -t- .
|
|
.TP
|
|
.BI \-k \ n \ m\
|
|
Load executable-embedded code from file offset
|
|
.I n
|
|
to
|
|
.IR m .
|
|
.TP
|
|
.B \-m\fR,\fP \-\^\-main
|
|
Calls `main' with command-line arguments.
|
|
.PP
|
|
|
|
.SH INITIALIZATION OPTIONS
|
|
.TP
|
|
.BI \-X \ dir\fR,\ \fP \-\^\-collects \ dir
|
|
Sets
|
|
.I dir
|
|
as the location of the main "collects" directory. If
|
|
.I dir
|
|
is relative, it is relative to the executable.
|
|
.TP
|
|
.BI \-S \ dir
|
|
.TP
|
|
.BI \-\^\-search \ dir
|
|
Adds
|
|
.I dir
|
|
to the search path for library collections. If
|
|
.I dir
|
|
is relative, it is relative to the executable.
|
|
.TP
|
|
.B \-U\fR,\fP \-\^\-no-user-path
|
|
Ignores PLTHOME, and omits the user-specific "collects" directory
|
|
from the search path for library collections.
|
|
.TP
|
|
.B \-x\fR,\fP \-\^\-no-lib-path
|
|
Skips trying to set current-library-collection-paths.
|
|
.TP
|
|
.B \-q\fR,\fP \-\^\-no-init-file
|
|
Skips trying to load "~/.mzschemerc".
|
|
.TP
|
|
.BI \-N \ file\fR,\ \fP \-\^\-name \ file
|
|
Sets the program name to
|
|
.IR name .
|
|
.TP
|
|
.B \-A\fR,\fP \-\^\-no-argv
|
|
Skips defining `argv' and `program'.
|
|
.PP
|
|
|
|
.SH LANGUAGE SETTING OPTIONS
|
|
.TP
|
|
.B \-Q\fR,\fP \-\^\-prim
|
|
Assume primitive bindings at top level by initializing the environment with
|
|
`(require mzscheme)'.
|
|
.TP
|
|
.B \-g\fR,\fP \-\^\-case-sens
|
|
Identifiers and symbols are initially case-sensitive (the default).
|
|
.TP
|
|
.B \-G\fR,\fP \-\^\-case-insens
|
|
Identifiers and symbols are initially case-insensitive.
|
|
.TP
|
|
.B \-s\fR,\fP \-\^\-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\fR,\fP \-\^\-persistent
|
|
Catches AIX SIGDANGER (low page space) signal. (AIX only)
|
|
.TP
|
|
.B \-m\fR,\fP \-\^\-mute-banner
|
|
Suppresses the startup banner.
|
|
.TP
|
|
.B \-v\fR,\fP \-\^\-version
|
|
Suppresses the read-eval-print loop.
|
|
.TP
|
|
.B \-h\fR,\fP \-\^\-help
|
|
Shows help for command-line arguments.
|
|
|
|
.SH COMMAND-LINE CONVENTIONS
|
|
|
|
Multiple single-letter switches can be collapsed, with arguments placed
|
|
after the collapsed swicthes; the first collapsed switch cannot be
|
|
.BR -- .
|
|
E.g.:
|
|
.B -vfme
|
|
.I file
|
|
.I expr
|
|
is the same as
|
|
.B -v -f
|
|
.I file
|
|
.B -m -e
|
|
.IR expr .
|
|
.PP
|
|
Extra arguments following the last option 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
|
|
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
|
|
option 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
|
|
option is used.
|
|
.PP
|
|
Unless the
|
|
.B -U
|
|
or
|
|
.B --no-user-path
|
|
option is provided, the library collections search
|
|
path is read from the PLTCOLLECTS environment variable
|
|
(as a colon-separated list of paths). Where the empty path
|
|
appears in PLTCOLLECTS, it is replaced with the default
|
|
collections directory search path.
|
|
|
|
.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 plt-help(1),
|
|
.BR drscheme(1),
|
|
.BR mred(1)
|