aboutsummaryrefslogtreecommitdiffstats
path: root/scm.doc
diff options
context:
space:
mode:
Diffstat (limited to 'scm.doc')
-rw-r--r--scm.doc319
1 files changed, 115 insertions, 204 deletions
diff --git a/scm.doc b/scm.doc
index 2367bc0..954e965 100644
--- a/scm.doc
+++ b/scm.doc
@@ -1,9 +1,7 @@
+SCM(Jan 4 2000) SCM(Jan 4 2000)
-SCM(Jan 4 2000) SCM(Jan 4 2000)
-
-
NAME
scm - a Scheme Language Interpreter
@@ -17,63 +15,44 @@ SYNOPSIS
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
- IMPLINIT in the makefile (or scmfig.h) if SCM_INIT_PATH is
- not defined. The makefiles attempt to set IMPLINIT to
- "Init.scm" in the source directory.
+ Upon startup scm loads the file specified by by the environment vari-
+ able 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 "Init.scm" in the source directory.
- 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.
+ 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 environment 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
- named on the command line, or from standard input.
+ "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
- command line.
+ The options are processed in the order specified on the command line.
-akbytes
- specifies that scm should allocate an initial heap-
- size of kbytes. This option, if present, must be the
- first on the command line.
+ specifies that scm should allocate an initial heapsize 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
- above.
+ Inhibits the loading of "ScmInit.scm" as described above.
-eexpression
-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
- instance "-e(newline)".
+ specifies that the scheme expression expression is to be evalu-
+ ated. These options are inspired by perl and sh respectively. On
+ Amiga systems the entire option and argument need to be enclosed
+ in quotes. For instance "-e(newline)".
-rfeature
- requires feature. This will load a file from SLIB if
-
-
-
- 1
-
-
-
-
-
-SCM(Jan 4 2000) SCM(Jan 4 2000)
-
-
- 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.
+ requires feature. This will load a file from SLIB if that feature
+ is not already supported. If feature is 2, 3, 4, or 5 scm will
+ require the features necessary to support R2RS, R3RS, R4RS, or
+ R5RS, respectively.
-hfeature
provides feature.
@@ -81,211 +60,153 @@ SCM(Jan 4 2000) SCM(Jan 4 2000)
-lfilename
-ffilename
- loads filename. Scm will load the first (unoptioned)
- file named on the command line if no -c, -e, -f, -l,
- or -s option preceeds it.
+ loads filename. Scm will load the first (unoptioned) file named
+ on the command line if no -c, -e, -f, -l, or -s option precedes
+ it.
-dfilename
- opens (read-only) the extended relational database
- filename. If filename contains initialization code,
- it will be run when the database is opened.
+ 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.
+ saves the current SCM session as the executable program 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.
+ If options appear on the command line after -o dumpname, then the
+ saved session will continue with processing 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
- 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
- -p3.
-
- -q (quiet mode) specifies that scm will print no extra
- information. This is the same as -p0.
+ sets the prolixity (verboseness) to level. This is the same as
+ the scm command (verbose level ).
- -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.
+ -v (verbose mode) specifies that scm will print prompts, evaluation
+ times, notice of loading files, and garbage collection statistics.
+ This is the same as -p3.
- -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.
+ -q (quiet mode) specifies that scm will print no extra information.
+ This is the same as -p0.
+ -m specifies that subsequent loads, evaluations, and user interac-
+ tions 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 user interac-
+ tions will be without R4RS macro capability. R4RS macro capabil-
+ ity can be restored by a subsequent -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.
- 2
+ -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 arguments.
-
-
-
-SCM(Jan 4 2000) SCM(Jan 4 2000)
-
-
- -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
- command line.
+ - -- 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
- the source directory.
+ is the pathname where scm will look for its initialization 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
- user initialization file "ScmInit.scm".
+ HOME is the directory where "Init.scm" will look for the user initial-
+ ization 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
- getopt.
+ 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 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
- subsequent -m and -u options.
+ controls whether loading and interaction support R4RS macros.
+ Define this in "ScmInit.scm" or files specified on the command
+ line. This can be overridden by subsequent -m and -u options.
*interactive*
- controls interactivity as explained for the -i and -b
- options. Define this in "ScmInit.scm" or files spec-
- ified on the command line. This can be overridden by
- subsequent -i and -b options.
+ controls interactivity as explained for the -i and -b options.
+ Define this in "ScmInit.scm" or files specified on the command
+ line. This can be overridden by subsequent -i and -b options.
EXAMPLES
-
-
-
-
-
- 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*.
+ 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.
+ Set *argv* to ("foo.scm" "arg1" "arg2") and enter interactive ses-
+ sion.
- % scm -e '(display (list-ref *argv* *optind*))' bar
- Print ``bar''
+ % 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.
+ Load pretty-print and format and enter interactive mode.
% scm -r5
- Load dynamic-wind, values, and R4RS macros and enter
- interactive (with macros) mode.
+ Load dynamic-wind, values, and R4RS macros and enter interactive
+ (with macros) mode.
% scm -r5 -r4
- Like above but rev4-optional-procedures are also
- loaded.
+ Like above but rev4-optional-procedures are also loaded.
FEATURES
- 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.
+ 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
- Scheme and the IEEE P1178 specification.
+ 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,
- 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.
- *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
- POSIX.1 facilities.
-
- User definable responses to interrupts and errors, Pro-
- cess-syncronization primitives, String regular expression
-
-
-
- 4
+ Many Common Lisp functions: logand, logor, logxor, lognot, ash, log-
+ count, integer-length, bit-extract, defmacro, macroexpand, macroex-
+ pand1, 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 inter-
+ nal-time-units-per-second constants. *Features* and *load-pathname*
+ variables.
+ Arrays and bit-vectors. String ports and software emulation ports.
+ I/O extensions providing most of ANSI C and POSIX.1 facilities.
+ User definable responses to interrupts and errors, Process-synchroniza-
+ tion primitives, String regular expression matching, and the CURSES
+ screen management package.
+ Available add-on packages including an interactive debugger, database,
+ X-window graphics, BGI graphics, Motif, and Open-Windows packages.
-SCM(Jan 4 2000) SCM(Jan 4 2000)
+ A compiler (HOBBIT, available separately) and dynamic linking of
+ compiled modules.
-
- 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.
-
- 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.
+ Setable levels of monitoring and timing information printed interac-
+ tively (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.
+ Texinfo documentation of scm enhancements, internal representa-
+ tions, and how to extend or include scm in other programs.
AUTHORS
Aubrey Jaffer (jaffer @ alum.mit.edu)
@@ -296,9 +217,8 @@ SEE ALSO
The SCM home-page:
http://swissnet.ai.mit.edu/~jaffer/SCM.html
- The Scheme specifications for details on specific proce-
- dures (http://swissnet.ai.mit.edu/ftpdir/scheme-reports/)
- or
+ The Scheme specifications for details on specific procedures
+ (http://swissnet.ai.mit.edu/ftpdir/scheme-reports/) or
IEEE Std 1178-1990,
IEEE Standard for the Scheme Programming Language,
@@ -318,13 +238,4 @@ SEE ALSO
-
-
-
-
-
-
-
- 5
-
-
+4th Berkeley Distribution SCM(Jan 4 2000)