summaryrefslogtreecommitdiffstats
path: root/scm.doc
diff options
context:
space:
mode:
Diffstat (limited to 'scm.doc')
-rw-r--r--scm.doc234
1 files changed, 117 insertions, 117 deletions
diff --git a/scm.doc b/scm.doc
index 03488a5..2367bc0 100644
--- a/scm.doc
+++ b/scm.doc
@@ -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