MZSCHEME(1)

NAME
MzScheme - The PLT Scheme implementation

SYNOPSIS
mzscheme [ option ... ] [ argument ... ]

DESCRIPTION
MzScheme is the PLT Scheme implementation. It nearly implements the language as described in the Revised^5 Report on the Algorithmic Language Scheme (the macro system is not fully supported), and adds numerous extensions.

MrEd embeds and extends MzScheme with a graphical user interface (GUI) toolbox.

DrScheme is the graphical development environment for creating MzScheme and MrEd applications.

OPTIONS
Startup file and expression switches:

-e expr
    Evaluates expr after MzScheme starts.

-f file
    Loads file after MzScheme starts.

-d file
    Load/cds file after MzScheme starts.

-F
    Loads all remaining arguments after MzScheme starts.

-D
    Load/cds all remaining arguments after MzScheme starts.

-l file
    Same as -e '(require-library " file ")'.

-L file coll
    Same as -e '(require-library " file " "coll ")'.

-r, --script
    Script mode: use as last flag for scripts. Same as -fmv-.

-i, --script-cd
    Like -r, but also sets the directory. Same as -dmv-.

-w, --awk
    Same as -l awk.ss.

Initialization switches:

-x, --no-lib-path
    Does not try to set current-library-collection-paths.

-q, --no-init-file
    Does not try to load "~/.mzschemerc".

Language setting switches:

-g, --case-sens
    Identifiers and symbols are initially case-sensitive.

-c, --esc-cont
    Call/cc is replaced with call/ec.

-s, --set-undef
    Set! works on undefined identifiers.

-a, --no-auto-else
    Fall-through cond or case is an error.

-n, --no-key
    Keywords are not enforced.

-y, --hash-percent-syntax
    Only #% syntactic forms are present.

-p, --persistent
    Catches AIX SIGDANGER (low page space) signal. (AIX only)

Miscellaneous switches:

--
    No argument following this switch is used as a switch.

-m, --mute-banner
    Suppresses the startup banner.

-v, --version
    Suppresses the read-eval-print loop.

-h, --help
    Shows help for command-line arguments.

-Rfile, --restore file
    Restores an image; must be the only switch. (Special versions only)

Multiple single-letter switches can be collapsed, with arguments placed after the collapsed switches; the first collapsed switch cannot be --. E.g.: -vfme file expr is the same as -v -f file -m -e expr.

Extra arguments following the last switch are put into the Scheme global variable `argv' as a vector of strings. The name used to start MzScheme is put into the global variable `program' as a string.

Extra arguments after a --restore file are returned as a vector of strings to the continuation of the `write-image-to-file' call that created the image.

Expressions/files are evaluated/loaded in order as provided.

The current-library-collections-paths parameter is automatically set before any expressions/files are evaluated/loaded, unless the -x or --no-lib-path switch is used.

For further information on MzScheme, please consult the on-line documentation and other information available at

http://www.cs.rice.edu/CS/PLT/packages/mzscheme/

FILES
The file "~/.mzschemerc" is loaded before any provided expressions/files are evaluated/loaded, unless the -q or --no-init-file switch is used.

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.

MzScheme looks for the default collections directory as one of the following (tried in order):

    The path in the environment variable PLTHOME is checked for a "collects" subdirectory.

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

    If 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 are followed as in the first case.

    The "/usr/local/lib/plt/collects" directory is tried.

Please consult your local administrator to determine whether the on-line documentation has been installed locally.

BUGS
Submit bug reports via
http://www.cs.rice.edu/CS/PLT/Bugs/ (encouraged) or by e-mail to
plt-bugs@cs.rice.edu (discouraged)

AUTHOR
MzScheme was implemented by Matthew Flatt (mflatt@cs.utah.edu). 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.

SEE ALSO
drscheme(1), drscheme-jr(1), mred(1)