diff options
Diffstat (limited to 'scm.doc')
-rw-r--r-- | scm.doc | 319 |
1 files changed, 115 insertions, 204 deletions
@@ -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) |