diff options
Diffstat (limited to 'scm.doc')
-rw-r--r-- | scm.doc | 234 |
1 files changed, 117 insertions, 117 deletions
@@ -1,49 +1,50 @@ -SCM(Dec 5 1998) SCM(Dec 5 1998) +SCM(Jan 4 2000) SCM(Jan 4 2000) NAME scm - a Scheme Language Interpreter SYNOPSIS - scm [-a kbytes ] [-ibvqmu] [-p number ] [-c expression ] - [-e expression ] [-f filename ] [-l filename ] [-d file- - name ] [-r feature ] [-- | - | -s] [filename] [arguments - ...] + scm [-a kbytes ] [-muvqib] [--version] [--help] + [[-]-no-init-file] [-p int ] [-r feature ] [-h feature ] + [-d filename ] [-f filename ] [-l filename ] + [-c expression ] [-e expression ] [-o dumpname ] + [-- | - | -s] [ filename ] [ arguments ... ] DESCRIPTION Scm is a Scheme interpreter. - Upon startup scm loads the file specified by by the envi- - ronment variable SCM_INIT_PATH or by the parameter + Upon startup scm loads the file specified by by the envi- + ronment variable SCM_INIT_PATH or by the parameter IMPLINIT in the makefile (or scmfig.h) if SCM_INIT_PATH is - not defined. The makefiles attempt to set IMPLINIT to + not defined. The makefiles attempt to set IMPLINIT to "Init.scm" in the source directory. - Unless the option -no-init-file occurs in the command - line, "Init.scm" checks to see if there is file - "ScmInit.scm" in the path specified by the environment - variable HOME (or in the current directory if HOME is + Unless the option -no-init-file or --no-init-file occurs + in the command line, "Init.scm" checks to see if there is + file "ScmInit.scm" in the path specified by the environ- + ment variable HOME (or in the current directory if HOME is undefined). If it finds such a file it is loaded. - "Init.scm" then looks for command input from one of three - sources: From an option on the command line, from a file + "Init.scm" then looks for command input from one of three + sources: From an option on the command line, from a file named on the command line, or from standard input. OPTIONS - The options are processed in the order specified on the + The options are processed in the order specified on the command line. -akbytes - specifies that scm should allocate an initial heap- + specifies that scm should allocate an initial heap- size of kbytes. This option, if present, must be the first on the command line. -no-init-file - Inhibits the loading of "ScmInit.scm" as described + Inhibits the loading of "ScmInit.scm" as described above. -eexpression @@ -51,13 +52,12 @@ OPTIONS -cexpression specifies that the scheme expression expression is to be evaluated. These options are inspired by perl and - sh respectively. On Amiga systems the entire option - and argument need to be enclosed in qoutes. For + sh respectively. On Amiga systems the entire option + and argument need to be enclosed in qoutes. For instance "-e(newline)". -rfeature requires feature. This will load a file from SLIB if - that feature is not already supported. If feature is @@ -67,103 +67,118 @@ OPTIONS -SCM(Dec 5 1998) SCM(Dec 5 1998) +SCM(Jan 4 2000) SCM(Jan 4 2000) - 2, 3, 4, or 5 scm will require the features necces- - sary to support R2RS, R3RS, R4RS, or R5RS, respec- + that feature is not already supported. If feature is + 2, 3, 4, or 5 scm will require the features necces- + sary to support R2RS, R3RS, R4RS, or R5RS, respec- tively. + -hfeature + provides feature. + -lfilename -ffilename loads filename. Scm will load the first (unoptioned) - file named on the command line if no -c, -e, -f, -l, + file named on the command line if no -c, -e, -f, -l, or -s option preceeds it. -dfilename - opens (read-only) the extended relational database - filename. If filename contains initialization code, + opens (read-only) the extended relational database + filename. If filename contains initialization code, it will be run when the database is opened. + -odumpname + saves the current SCM session as the executable pro- + gram dumpname. This option works only in SCM builds + supporting dump. + + If options appear on the command line after -o dump- + name, then the saved session will continue with pro- + cessing those options when it is invoked. Otherwise + the (new) command line is processed as usual when the + saved image is invoked. + -plevel - sets the prolixity (verboseness) to level. This is + sets the prolixity (verboseness) to level. This is the same as the scm command (verobse level ). -v (verbose mode) specifies that scm will print prompts, - evaluation times, notice of loading files, and - garbage collection statistics. This is the same as + evaluation times, notice of loading files, and + garbage collection statistics. This is the same as -p3. - -q (quiet mode) specifies that scm will print no extra + -q (quiet mode) specifies that scm will print no extra information. This is the same as -p0. - -m specifies that subsequent loads, evaluations, and + -m specifies that subsequent loads, evaluations, and user interactions will be with R4RS macro capability. To use a specific R4RS macro implementation from SLIB (instead of SLIB's default) put -r macropackage before -m on the command line. - -u specifies that subsequent loads, evaluations, and + -u specifies that subsequent loads, evaluations, and user interactions will be without R4RS macro capabil- ity. R4RS macro capability can be restored by a sub- sequent -m on the command line or from Scheme code. - -i specifies that scm should run interactively. That - means that scm will not terminate until the (quit) or - (exit) command is given, even if there are errors. - It also sets the prolixity level to 2 if it is less - than 2. This will print prompts, evaluation times, - and notice of loading files. The prolixity level can - be set by subsequent options. If scm is started from - a tty, it will assume that it should be interactive - unless given a subsequent -b option. - -b specifies that scm should run non-interactively. - That means that scm will terminate after processing - the command line or if there are errors. - -s specifies, by analogy with sh, that further options + 2 - 2 +SCM(Jan 4 2000) SCM(Jan 4 2000) -SCM(Dec 5 1998) SCM(Dec 5 1998) + -i specifies that scm should run interactively. That + means that scm will not terminate until the (quit) or + (exit) command is given, even if there are errors. + It also sets the prolixity level to 2 if it is less + than 2. This will print prompts, evaluation times, + and notice of loading files. The prolixity level can + be set by subsequent options. If scm is started from + a tty, it will assume that it should be interactive + unless given a subsequent -b option. + -b specifies that scm should run non-interactively. + That means that scm will terminate after processing + the command line or if there are errors. + -s specifies, by analogy with sh, that further options are to be treated as program aguments. - - -- specifies that there are no more options on the + - -- specifies that there are no more options on the command line. ENVIRONMENT VARIABLES SCM_INIT_PATH - is the pathname where scm will look for its initial- - ization code. The default is the file "Init.scm" in + is the pathname where scm will look for its initial- + ization code. The default is the file "Init.scm" in the source directory. SCHEME_LIBRARY_PATH is the SLIB Scheme library directory. - HOME is the directory where "Init.scm" will look for the + HOME is the directory where "Init.scm" will look for the user initialization file "ScmInit.scm". SCHEME VARIABLES *argv* contains the list of arguments to the program. - *argv* can change during argument processing. This - list is suitable for use as an argument to SLIB + *argv* can change during argument processing. This + list is suitable for use as an argument to SLIB getopt. *R4RS-macro* controls whether loading and interaction support R4RS macros. Define this in "ScmInit.scm" or files speci- - fied on the command line. This can be overridden by + fied on the command line. This can be overridden by subsequent -m and -u options. *interactive* @@ -173,39 +188,41 @@ SCHEME VARIABLES subsequent -i and -b options. EXAMPLES - % scm foo.scm arg1 arg2 arg3 - Load and execute the contents of foo.scm. Parameters - arg1 arg2 and arg3 are stored in the global list - *argv*. - % scm -f foo.scm arg1 arg2 arg3 - The same. - % scm -s foo.scm arg1 arg2 - Set *argv* to ("foo.scm" "arg1" "arg2") and enter - interactive session. - % scm -e '(display (list-ref *argv* *optind*))' bar - Print ``bar'' - % scm -rpretty-print -r format -i - Load pretty-print and format and enter interactive + + 3 - 3 +SCM(Jan 4 2000) SCM(Jan 4 2000) + % scm foo.scm arg1 arg2 arg3 + Load and execute the contents of foo.scm. Parameters + arg1 arg2 and arg3 are stored in the global list + *argv*. -SCM(Dec 5 1998) SCM(Dec 5 1998) + % scm -f foo.scm arg1 arg2 arg3 + The same. + + % scm -s foo.scm arg1 arg2 + Set *argv* to ("foo.scm" "arg1" "arg2") and enter + interactive session. + % scm -e '(display (list-ref *argv* *optind*))' bar + Print ``bar'' + % scm -rpretty-print -r format -i + Load pretty-print and format and enter interactive mode. % scm -r5 - Load dynamic-wind, values, and R4RS macros and enter + Load dynamic-wind, values, and R4RS macros and enter interactive (with macros) mode. % scm -r5 -r4 @@ -213,73 +230,73 @@ SCM(Dec 5 1998) SCM(Dec 5 1998) loaded. FEATURES - Runs under Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, - Unicos, VMS, Unix and similar systems. Support for ASCII + Runs under Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, + Unicos, VMS, Unix and similar systems. Support for ASCII and EBCDIC character sets. - Conforms to Revised^5 Report on the Algorithmic Language + Conforms to Revised^5 Report on the Algorithmic Language Scheme and the IEEE P1178 specification. Support for SICP, R2RS, R3RS, and R4RS scheme code. Many Common Lisp functions: logand, logor, logxor, lognot, - ash, logcount, integer-length, bit-extract, defmacro, - macroexpand, macroexpand1, gentemp, defvar, force-output, - software-type, get-decoded-time, get-internal-run-time, + ash, logcount, integer-length, bit-extract, defmacro, + macroexpand, macroexpand1, gentemp, defvar, force-output, + software-type, get-decoded-time, get-internal-run-time, get-internal-real-time, delete-file, rename-file, copy- tree, acons, and eval. - Char-code-limit, most-positive-fixnum, most-negative- - fixnum, and internal-time-units-per-second constants. + Char-code-limit, most-positive-fixnum, most-negative- + fixnum, and internal-time-units-per-second constants. *Features* and *load-pathname* variables. - Arrays and bit-vectors. String ports and software emula- - tion ports. I/O extensions providing most of ANSI C and + Arrays and bit-vectors. String ports and software emula- + tion ports. I/O extensions providing most of ANSI C and POSIX.1 facilities. - User definable responses to interrupts and errors, Pro- - cess-syncronization primitives, String regular expression - matching, and the CURSES screen management package. + User definable responses to interrupts and errors, Pro- + cess-syncronization primitives, String regular expression - Available add-on packages including an interactive debug- - ger, database, X-window graphics, BGI graphics, Motif, and - Open-Windows packages. - A compiler (HOBBIT, available separately) and dynamic - linking of compiled modules. - Setable levels of monitoring and timing information - printed interactively (the `verbose' function). Restart, - quit, and exec. + 4 -FILES - scm.texi - Texinfo documentation of scm enhancements, internal - representations, and how to extend or include scm - 4 +SCM(Jan 4 2000) SCM(Jan 4 2000) + matching, and the CURSES screen management package. + Available add-on packages including an interactive debug- + ger, database, X-window graphics, BGI graphics, Motif, and + Open-Windows packages. -SCM(Dec 5 1998) SCM(Dec 5 1998) + A compiler (HOBBIT, available separately) and dynamic + linking of compiled modules. + Setable levels of monitoring and timing information + printed interactively (the `verbose' function). Restart, + quit, and exec. +FILES + scm.texi + Texinfo documentation of scm enhancements, internal + representations, and how to extend or include scm in other programs. AUTHORS - Aubrey Jaffer (jaffer @ ai.mit.edu) - Radey Shouman (Radey.Shouman @ splashtech.com) + Aubrey Jaffer (jaffer @ alum.mit.edu) + Radey Shouman (shouman @ ne.mediaone.net) BUGS SEE ALSO The SCM home-page: http://swissnet.ai.mit.edu/~jaffer/SCM.html - The Scheme specifications for details on specific proce- + The Scheme specifications for details on specific proce- dures (http://swissnet.ai.mit.edu/ftpdir/scheme-reports/) or @@ -308,23 +325,6 @@ SEE ALSO - - - - - - - - - - - - - - - - - 5 |