summaryrefslogtreecommitdiffstats
path: root/slib.info
diff options
context:
space:
mode:
Diffstat (limited to 'slib.info')
-rw-r--r--slib.info2463
1 files changed, 1602 insertions, 861 deletions
diff --git a/slib.info b/slib.info
index 5585c44..13c8d59 100644
--- a/slib.info
+++ b/slib.info
@@ -1,39 +1,51 @@
-This is slib.info, produced by makeinfo version 4.7 from slib.texi.
+This is slib.info, produced by makeinfo version 4.8 from slib.texi.
+This manual is for SLIB (version 3a4, October 2006), the portable |
+Scheme library. |
+ |
+Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, |
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
+ |
+ Permission is granted to copy, distribute and/or modify this |
+ document under the terms of the GNU Free Documentation License, |
+ Version 1.2 or any later version published by the Free Software |
+ Foundation; with no Invariant Sections, with the Front-Cover Texts |
+ being "A GNU Manual," and with the Back-Cover Texts as in (a) |
+ below. A copy of the license is included in the section entitled |
+ "GNU Free Documentation License." |
+ |
+ (a) The FSF's Back-Cover Text is: "You have freedom to copy and |
+ modify this GNU Manual, like GNU software. Copies published by |
+ the Free Software Foundation raise funds for GNU development." |
+ |
INFO-DIR-SECTION The Algorithmic Language Scheme
START-INFO-DIR-ENTRY
* SLIB: (slib). Scheme Library
END-INFO-DIR-ENTRY
- This file documents SLIB, the portable Scheme library.
-
- Copyright (C) 1993 Todd R. Eigenschink
-Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002 Aubrey Jaffer
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
+
+File: slib.info, Node: Top, Next: The Library System, Prev: (dir), Up: (dir)
+ |
+SLIB |
+**** |
- Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
+This manual is for SLIB (version 3a4, October 2006), the portable |
+Scheme library. |
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the author.
+Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, |
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
-
-File: slib.info, Node: Top, Next: The Library System, Prev: (dir), Up: (dir)
+ Permission is granted to copy, distribute and/or modify this |
+ document under the terms of the GNU Free Documentation License, |
+ Version 1.2 or any later version published by the Free Software |
+ Foundation; with no Invariant Sections, with the Front-Cover Texts |
+ being "A GNU Manual," and with the Back-Cover Texts as in (a) |
+ below. A copy of the license is included in the section entitled |
+ "GNU Free Documentation License." |
-"SLIB" is a portable library for the programming language "Scheme". It
-provides a platform independent framework for using "packages" of
-Scheme procedures and syntax. As distributed, SLIB contains useful
-packages for all Scheme implementations. Its catalog can be
-transparently extended to accomodate packages specific to a site,
-implementation, user, or directory.
+ (a) The FSF's Back-Cover Text is: "You have freedom to copy and |
+ modify this GNU Manual, like GNU software. Copies published by |
+ the Free Software Foundation raise funds for GNU development." |
* Menu:
@@ -53,6 +65,13 @@ File: slib.info, Node: The Library System, Next: Universal SLIB Procedures, P
1 The Library System
********************
+"SLIB" is a portable library for the programming language "Scheme". It |
+provides a platform independent framework for using "packages" of |
+Scheme procedures and syntax. As distributed, SLIB contains useful |
+packages for all Scheme implementations. Its catalog can be |
+transparently extended to accomodate packages specific to a site, |
+implementation, user, or directory. |
+ |
* Menu:
* Feature:: SLIB names.
@@ -279,10 +298,10 @@ the actual pathnames of files can differ from installation to
installation, SLIB builds a separate catalog for each implementation it
is used with.
-The definition of `*slib-version*' in SLIB file `require.scm' is |
-checked against the catalog association of `*slib-version*' to |
+The definition of `*slib-version*' in SLIB file `require.scm' is
+checked against the catalog association of `*slib-version*' to
ascertain when versions have changed. It is a reasonable practice to
-change the definition of `*slib-version*' whenever the library is |
+change the definition of `*slib-version*' whenever the library is
changed. If multiple implementations of Scheme use SLIB, remember that
recompiling one `slibcat' will update only that implementation's
catalog.
@@ -853,7 +872,7 @@ implementations.
implementation and the name of the operating system. An
unspecified value is returned.
- (slib:report-version) => slib "3a3" on scm "5b1" on unix |
+ (slib:report-version) => slib "3a4" on scm "5b1" on unix |
-- Function: slib:report
Displays the information of `(slib:report-version)' followed by
@@ -868,15 +887,15 @@ implementations.
(slib:report)
=>
- slib "3a3" on scm "5b1" on unix |
+ slib "3a4" on scm "5b1" on unix |
(implementation-vicinity) is "/usr/local/lib/scm/"
(library-vicinity) is "/usr/local/lib/slib/"
(scheme-file-suffix) is ".scm"
- loaded *features* :
+ loaded slib:features : |
trace alist qp sort
common-list-functions macro values getopt
compiled
- implementation *features* :
+ implementation slib:features : |
bignum complex real rational
inexact vicinity ed getenv
tmpnam abort transcript with-file
@@ -1122,7 +1141,7 @@ Language changes: (r4rs)Notes.). They are provided by all SLIB
implementations.
-- Constant: t
- Derfined as `#t'.
+ Defined as `#t'. |
-- Constant: nil
Defined as `#f'.
@@ -1154,11 +1173,11 @@ File: slib.info, Node: Scheme Syntax Extension Packages, Next: Textual Convers
Syntax extensions (macros) included with SLIB.
* Define-Structure:: 'structure
-* Define-Record-Type:: 'define-record-type, 'srfi-9 |
+* Define-Record-Type:: 'define-record-type, 'srfi-9
* Fluid-Let:: 'fluid-let
-* Binding to multiple values:: 'receive, 'srfi-8 |
-* Guarded LET* special form:: 'and-let*, 'srfi-2 |
-* Guarded COND Clause:: 'guarded-cond-clause, 'srfi-61 |
+* Binding to multiple values:: 'receive, 'srfi-8
+* Guarded LET* special form:: 'and-let*, 'srfi-2
+* Guarded COND Clause:: 'guarded-cond-clause, 'srfi-61
* Yasos:: 'yasos, 'oop, 'collect

@@ -2016,7 +2035,7 @@ if there is some incompatibility that is not flagged as such.

File: slib.info, Node: Define-Structure, Next: Define-Record-Type, Prev: Syntax-Case Macros, Up: Scheme Syntax Extension Packages
- |
+
3.7 Define-Structure
====================
@@ -2069,27 +2088,27 @@ a macro `define-structure'. Here is its documentation from Gambit 4.0:

File: slib.info, Node: Define-Record-Type, Next: Fluid-Let, Prev: Define-Structure, Up: Scheme Syntax Extension Packages
- |
-3.8 Define-Record-Type |
-====================== |
- |
-`(require 'define-record-type)' or `(require 'srfi-9)' |
- |
- `http://srfi.schemers.org/srfi-9/srfi-9.html' |
- |
- -- Special Form: define-record-type <type-name> (<constructor-name> |
- <field-tag> ...) <predicate-name> <field-spec> ... |
- Where |
- <field-spec> == (<field-tag> <accessor-name>) |
- == (<field-tag> <accessor-name> <modifier-name>) |
- |
- `define-record-type' is a syntax wrapper for the SLIB `record' |
- module. |
- |
+
+3.8 Define-Record-Type
+======================
+
+`(require 'define-record-type)' or `(require 'srfi-9)'
+
+ `http://srfi.schemers.org/srfi-9/srfi-9.html'
+
+ -- Special Form: define-record-type <type-name> (<constructor-name>
+ <field-tag> ...) <predicate-name> <field-spec> ...
+ Where
+ <field-spec> == (<field-tag> <accessor-name>)
+ == (<field-tag> <accessor-name> <modifier-name>)
+
+ `define-record-type' is a syntax wrapper for the SLIB `record'
+ module.
+

File: slib.info, Node: Fluid-Let, Next: Binding to multiple values, Prev: Define-Record-Type, Up: Scheme Syntax Extension Packages
- |
-3.9 Fluid-Let |
+
+3.9 Fluid-Let
=============
`(require 'fluid-let)'
@@ -2113,81 +2132,81 @@ of its corresponding VARIABLE.

File: slib.info, Node: Binding to multiple values, Next: Guarded LET* special form, Prev: Fluid-Let, Up: Scheme Syntax Extension Packages
- |
-3.10 Binding to multiple values |
-=============================== |
- |
-`(require 'receive)' or `(require 'srfi-8)' |
- |
- -- Special Form: receive formals expression body ... |
- `http://srfi.schemers.org/srfi-8/srfi-8.html' |
- |
+
+3.10 Binding to multiple values
+===============================
+
+`(require 'receive)' or `(require 'srfi-8)'
+
+ -- Special Form: receive formals expression body ...
+ `http://srfi.schemers.org/srfi-8/srfi-8.html'
+

File: slib.info, Node: Guarded LET* special form, Next: Guarded COND Clause, Prev: Binding to multiple values, Up: Scheme Syntax Extension Packages
- |
-3.11 Guarded LET* special form |
-============================== |
- |
-`(require 'and-let*)' or `(require 'srfi-2)' |
- |
- -- Macro: and-let* claws body ... |
- `http://srfi.schemers.org/srfi-2/srfi-2.html' |
- |
+
+3.11 Guarded LET* special form
+==============================
+
+`(require 'and-let*)' or `(require 'srfi-2)'
+
+ -- Macro: and-let* claws body ...
+ `http://srfi.schemers.org/srfi-2/srfi-2.html'
+

File: slib.info, Node: Guarded COND Clause, Next: Yasos, Prev: Guarded LET* special form, Up: Scheme Syntax Extension Packages
- |
-3.12 Guarded COND Clause |
-======================== |
- |
-`(require 'guarded-cond-clause)' or `(require 'srfi-61)' |
- |
- `http://srfi.schemers.org/srfi-61/srfi-61.html' |
- |
- -- library syntax: cond <clause1> <clause2> ... |
- _Syntax:_ Each <clause> should be of the form |
- |
- (<test> <expression1> ...) |
- |
- where <test> is any expression. Alternatively, a <clause> may be |
- of the form |
- |
- (<test> => <expression>) |
- |
- The <clause> production in the formal syntax of Scheme as written |
- by R5RS in section 7.1.3 is extended with a new option: |
- |
- <clause> => (<generator> <guard> => <receiver>) |
- |
- where <generator>, <guard>, & <receiver> are all <expression>s. |
- |
- Clauses of this form have the following semantics: |
- <generator> is evaluated. It may return arbitrarily many |
- values. <Guard> is applied to an argument list containing |
- the values in order that <generator> returned. If <guard> |
- returns a true value for that argument list, <receiver> is |
- applied with an equivalent argument list. If <guard> returns |
- a false value, however, the clause is abandoned and the next |
- one is tried. |
- |
- The last <clause> may be an "else clause," which has the form |
- |
- (else <expression1> <expression2> ...). |
- |
-This `port->char-list' procedure accepts an input port and returns a |
-list of all the characters it produces until the end. |
- |
- (define (port->char-list port) |
- (cond ((read-char port) char? |
- => (lambda (c) (cons c (port->char-list port)))) |
- (else '()))) |
- |
- (call-with-input-string "foo" port->char-list) ==> (#\f #\o #\o) |
- |
+
+3.12 Guarded COND Clause
+========================
+
+`(require 'guarded-cond-clause)' or `(require 'srfi-61)'
+
+ `http://srfi.schemers.org/srfi-61/srfi-61.html'
+
+ -- library syntax: cond <clause1> <clause2> ...
+ _Syntax:_ Each <clause> should be of the form
+
+ (<test> <expression1> ...)
+
+ where <test> is any expression. Alternatively, a <clause> may be
+ of the form
+
+ (<test> => <expression>)
+
+ The <clause> production in the formal syntax of Scheme as written
+ by R5RS in section 7.1.3 is extended with a new option:
+
+ <clause> => (<generator> <guard> => <receiver>)
+
+ where <generator>, <guard>, & <receiver> are all <expression>s.
+
+ Clauses of this form have the following semantics:
+ <generator> is evaluated. It may return arbitrarily many
+ values. <Guard> is applied to an argument list containing
+ the values in order that <generator> returned. If <guard>
+ returns a true value for that argument list, <receiver> is
+ applied with an equivalent argument list. If <guard> returns
+ a false value, however, the clause is abandoned and the next
+ one is tried.
+
+ The last <clause> may be an "else clause," which has the form
+
+ (else <expression1> <expression2> ...).
+
+This `port->char-list' procedure accepts an input port and returns a
+list of all the characters it produces until the end.
+
+ (define (port->char-list port)
+ (cond ((read-char port) char?
+ => (lambda (c) (cons c (port->char-list port))))
+ (else '())))
+
+ (call-with-input-string "foo" port->char-list) ==> (#\f #\o #\o)
+

File: slib.info, Node: Yasos, Prev: Guarded COND Clause, Up: Scheme Syntax Extension Packages
- |
-3.13 Yasos |
-========== |
+
+3.13 Yasos
+==========
`(require 'oop)' or `(require 'yasos)'
@@ -2211,8 +2230,8 @@ on LISP and Functional Programming, July 1988 [ACM #552880].

File: slib.info, Node: Yasos terms, Next: Yasos interface, Prev: Yasos, Up: Yasos
-3.13.1 Terms |
------------- |
+3.13.1 Terms
+------------
"Object"
Any Scheme data object.
@@ -2242,8 +2261,8 @@ _Disclaimer:_

File: slib.info, Node: Yasos interface, Next: Setters, Prev: Yasos terms, Up: Yasos
-3.13.2 Interface |
----------------- |
+3.13.2 Interface
+----------------
-- Syntax: define-operation `('opname self arg ...`)' DEFAULT-BODY
Defines a default behavior for data objects which don't handle the
@@ -2288,8 +2307,8 @@ File: slib.info, Node: Yasos interface, Next: Setters, Prev: Yasos terms, Up

File: slib.info, Node: Setters, Next: Yasos examples, Prev: Yasos interface, Up: Yasos
-3.13.3 Setters |
--------------- |
+3.13.3 Setters
+--------------
"Setters" implement "generalized locations" for objects associated with
some sort of mutable state. A "getter" operation retrieves a value
@@ -2346,8 +2365,8 @@ through `setf'.

File: slib.info, Node: Yasos examples, Prev: Setters, Up: Yasos
-3.13.4 Examples |
---------------- |
+3.13.4 Examples
+---------------
;;; These definitions for PRINT and SIZE are
;;; already supplied by
@@ -2529,9 +2548,9 @@ A syntax tree is not built unless the rules explicitly do so. The call
graph of grammar rules effectively instantiate the sytnax tree.
The JACAL symbolic math system
-(`http://swiss.csail.mit.edu/~jaffer/JACAL.html') uses
-precedence-parse. Its grammar definitions in the file
-`jacal/English.scm' can serve as examples of use.
+(`http://swiss.csail.mit.edu/~jaffer/JACAL') uses precedence-parse. |
+Its grammar definitions in the file `jacal/English.scm' can serve as |
+examples of use. |
---------- Footnotes ----------
@@ -2627,7 +2646,7 @@ variable (for use when calling `prec:parse').
The token DELIM may be a character, symbol, or string. A
character DELIM argument will match only a character token; i.e. a
- character for which no token-group is assigned. A symbols or
+ character for which no token-group is assigned. A symbol or |
string will match only a token string; i.e. a token resulting from
a token group.
@@ -5792,16 +5811,18 @@ File: slib.info, Node: Mathematical Packages, Next: Database Packages, Prev:
* Bit-Twiddling:: 'logical
* Modular Arithmetic:: 'modular
+* Irrational Integer Functions:: |
+* Irrational Real Functions:: |
* Prime Numbers:: 'factor
* Random Numbers:: 'random
-* Fast Fourier Transform:: 'fft
+* Discrete Fourier Transform:: 'dft |
* Cyclic Checksum:: 'crc
* Graphing::
* Solid Modeling:: VRML97
* Color::
* Root Finding:: 'root
* Minimizing:: 'minimize
-* The Limit:: 'limit |
+* The Limit:: 'limit
* Commutative Rings:: 'commutative-ring
* Matrix Algebra:: 'determinant
@@ -5811,7 +5832,7 @@ File: slib.info, Node: Bit-Twiddling, Next: Modular Arithmetic, Prev: Mathema
5.1 Bit-Twiddling
=================
-`(require 'logical)'
+`(require 'logical)' or `(require 'srfi-60)' |
The bit-twiddling functions are made available through the use of the
`logical' package. `logical' is loaded by inserting `(require
@@ -6037,61 +6058,45 @@ representation.
Returns the integer coded by the BOOL1 ... arguments.

-File: slib.info, Node: Modular Arithmetic, Next: Prime Numbers, Prev: Bit-Twiddling, Up: Mathematical Packages
-
+File: slib.info, Node: Modular Arithmetic, Next: Irrational Integer Functions, Prev: Bit-Twiddling, Up: Mathematical Packages
+ |
5.2 Modular Arithmetic
======================
`(require 'modular)'
-
- -- Function: mod x1 x2
- -- Function: rem x1 x2
- These procedures implement the Common-Lisp functions of the same
- names. The real number X2 must be non-zero. `mod' returns `(- X1
- (* X2 (floor (/ X1 X2))))'. `rem' returns `(- X1 (* X2 (truncate
- (/ X1 X2))))'.
-
- If X1 and X2 are integers, then `mod' behaves like `modulo' and
- `rem' behaves like `remainder'.
-
- (mod -90 360) => 270
- (rem -90 180) => -90
-
- (mod 540 360) => 180
- (rem 540 360) => 180
-
- (mod (* 5/2 pi) (* 2 pi)) => 1.5707963267948965
- (rem (* -5/2 pi) (* 2 pi)) => -1.5707963267948965
-
+ |
-- Function: extended-euclid n1 n2
Returns a list of 3 integers `(d x y)' such that d = gcd(N1, N2) =
N1 * x + N2 * y.
- -- Function: symmetric:modulus n
- Returns `(quotient (+ -1 n) -2)' for positive odd integer N.
+ -- Function: symmetric:modulus m |
+ For odd positive integer M, returns an object suitable for passing |
+ as the first argument to `modular:' procedures, directing them to |
+ return a symmetric modular number, ie. an N such that |
+ (<= (quotient M -2) N (quotient M 2) |
- -- Function: modulus->integer modulus
+ -- Function: modular:characteristic modulus |
Returns the non-negative integer characteristic of the ring formed
when MODULUS is used with `modular:' procedures.
-- Function: modular:normalize modulus n
- Returns the integer `(modulo N (modulus->integer MODULUS))' in the
- representation specified by MODULUS.
+ Returns the integer `(modulo N (modular:characteristic MODULUS))' |
+ in the representation specified by MODULUS. |
The rest of these functions assume normalized arguments; That is, the
arguments are constrained by the following table:
For all of these functions, if the first argument (MODULUS) is:
`positive?'
- Work as before. The result is between 0 and MODULUS.
+ Integers mod MODULUS. The result is between 0 and MODULUS. |
`zero?'
The arguments are treated as integers. An integer is returned.
-`negative?'
- The arguments and result are treated as members of the integers
- modulo `(+ 1 (* -2 MODULUS))', but with "symmetric" representation;
- i.e. `(<= (- MODULUS) N MODULUS)'.
+Otherwise, if MODULUS is a value returned by `(symmetric:modulus |
+RADIX)', then the arguments and result are treated as members of the |
+integers modulo RADIX, but with "symmetric" representation; i.e. |
+ (<= (quotient RADIX 2) N (quotient (- -1 RADIX) 2) |
If all the arguments are fixnums the computation will use only fixnums.
@@ -6122,9 +6127,151 @@ If all the arguments are fixnums the computation will use only fixnums.
Returns (N2 ^ N3) mod MODULUS.

-File: slib.info, Node: Prime Numbers, Next: Random Numbers, Prev: Modular Arithmetic, Up: Mathematical Packages
-
-5.3 Prime Numbers
+File: slib.info, Node: Irrational Integer Functions, Next: Irrational Real Functions, Prev: Modular Arithmetic, Up: Mathematical Packages
+ |
+5.3 Irrational Integer Functions |
+================================ |
+ |
+`(require 'math-integer)' |
+ |
+ -- Function: integer-expt n1 n2 |
+ Returns N1 raised to the power N2 if that result is an exact |
+ integer; otherwise signals an error. |
+ |
+ `(integer-expt 0 N2)' |
+ |
+ returns 1 for N2 equal to 0; returns 0 for positive integer N2; |
+ signals an error otherwise. |
+ |
+ -- Function: integer-log base k |
+ Returns the largest exact integer whose power of BASE is less than |
+ or equal to K. If BASE or K is not a positive exact integer, then |
+ `integer-log' signals an error. |
+ |
+ -- Function: integer-sqrt k |
+ For non-negative integer K returns the largest integer whose square |
+ is less than or equal to K; otherwise signals an error. |
+ |
+ -- Variable: quotient |
+ -- Variable: remainder |
+ -- Variable: modulo |
+ are redefined so that they accept only exact-integer arguments. |
+ |
+
+File: slib.info, Node: Irrational Real Functions, Next: Prime Numbers, Prev: Irrational Integer Functions, Up: Mathematical Packages
+ |
+5.4 Irrational Real Functions |
+============================= |
+ |
+`(require 'math-real)' |
+ |
+ Although this package defines real and complex functions, it is safe |
+to load into an integer-only implementation; those functions will be |
+defined to #f. |
+ |
+ -- Function: real-exp X |
+ -- Function: real-ln X |
+ -- Function: real-log Y X |
+ -- Function: real-sin X |
+ -- Function: real-cos X |
+ -- Function: real-tan X |
+ -- Function: real-asin X |
+ -- Function: real-acos X |
+ -- Function: real-atan X |
+ -- Function: atan Y X |
+ These procedures are part of every implementation that supports |
+ general real numbers; they compute the usual transcendental |
+ functions. `real-ln' computes the natural logarithm of X; |
+ `real-log' computes the logarithm of X base Y, which is `(/ |
+ (real-ln x) (real-ln y))'. If arguments X and Y are not both |
+ real; or if the correct result would not be real, then these |
+ procedures signal an error. |
+ |
+ |
+ -- Function: real-sqrt X |
+ For non-negative real X the result will be its positive square |
+ root; otherwise an error will be signaled. |
+ |
+ |
+ -- Function: real-expt x1 x2 |
+ Returns X1 raised to the power X2 if that result is a real number; |
+ otherwise signals an error. |
+ |
+ `(real-expt 0.0 X2)' |
+ |
+ * returns 1.0 for X2 equal to 0.0; |
+ |
+ * returns 0.0 for positive real X2; |
+ |
+ * signals an error otherwise. |
+ |
+ |
+ -- Function: quo x1 x2 |
+ -- Function: rem x1 x2 |
+ -- Function: mod x1 x2 |
+ X2 should be non-zero. |
+ |
+ (quo X1 X2) ==> N_Q |
+ (rem X1 X2) ==> X_R |
+ (mod X1 X2) ==> X_M |
+ |
+ where N_Q is X1/X2 rounded towards zero, 0 < |X_R| < |X2|, 0 < |
+ |X_M| < |X2|, X_R and X_M differ from X1 by a multiple of X2, X_R |
+ has the same sign as X1, and X_M has the same sign as X2. |
+ |
+ From this we can conclude that for X2 not equal to 0, |
+ |
+ (= X1 (+ (* X2 (quo X1 X2)) |
+ (rem X1 X2))) |
+ ==> #t |
+ |
+ provided all numbers involved in that computation are exact. |
+ |
+ (quo 2/3 1/5) ==> 3 |
+ (mod 2/3 1/5) ==> 1/15 |
+ |
+ (quo .666 1/5) ==> 3.0 |
+ (mod .666 1/5) ==> 65.99999999999995e-3 |
+ |
+ -- Function: ln Z |
+ These procedures are part of every implementation that supports |
+ general real numbers. `Ln' computes the natural logarithm of Z |
+ |
+ In general, the mathematical function ln is multiply defined. The |
+ value of ln Z is defined to be the one whose imaginary part lies |
+ in the range from -pi (exclusive) to pi (inclusive). |
+ |
+ |
+ -- Function: abs x |
+ For real argument X, `Abs' returns the absolute value of X' |
+ otherwise it signals an error. |
+ |
+ (abs -7) ==> 7 |
+ |
+ |
+ -- Function: make-rectangular x1 x2 |
+ -- Function: make-polar x3 x4 |
+ These procedures are part of every implementation that supports |
+ general complex numbers. Suppose X1, X2, X3, and X4 are real |
+ numbers and Z is a complex number such that |
+ |
+ Z = X1 + X2i = X3 . e^i X4 |
+ |
+ Then |
+ |
+ (make-rectangular X1 X2) ==> Z |
+ (make-polar X3 X4) ==> Z |
+ |
+ where -pi < x_angle <= pi with x_angle = X4 + 2pi n for some |
+ integer n. |
+ |
+ If an argument is not real, then these procedures signal an error. |
+ |
+ |
+
+File: slib.info, Node: Prime Numbers, Next: Random Numbers, Prev: Irrational Real Functions, Up: Mathematical Packages
+ |
+5.5 Prime Numbers |
=================
`(require 'factor)'
@@ -6167,9 +6314,9 @@ the Solovay-Strassen primality test. See
`(sort! (factor K) <)'.

-File: slib.info, Node: Random Numbers, Next: Fast Fourier Transform, Prev: Prime Numbers, Up: Mathematical Packages
-
-5.4 Random Numbers
+File: slib.info, Node: Random Numbers, Next: Discrete Fourier Transform, Prev: Prime Numbers, Up: Mathematical Packages
+ |
+5.6 Random Numbers |
==================
A pseudo-random number generator is only as good as the tests it passes.
@@ -6191,7 +6338,7 @@ from sequential bytes, tests fail. With the seed

File: slib.info, Node: Exact Random Numbers, Next: Inexact Random Numbers, Prev: Random Numbers, Up: Random Numbers
-5.4.1 Exact Random Numbers
+5.6.1 Exact Random Numbers |
--------------------------
`(require 'random)'
@@ -6243,7 +6390,7 @@ File: slib.info, Node: Exact Random Numbers, Next: Inexact Random Numbers, Pr

File: slib.info, Node: Inexact Random Numbers, Prev: Exact Random Numbers, Up: Random Numbers
-5.4.2 Inexact Random Numbers
+5.6.2 Inexact Random Numbers |
----------------------------
`(require 'random-inexact)'
@@ -6287,21 +6434,58 @@ File: slib.info, Node: Inexact Random Numbers, Prev: Exact Random Numbers, Up
squares of the numbers is returned.

-File: slib.info, Node: Fast Fourier Transform, Next: Cyclic Checksum, Prev: Random Numbers, Up: Mathematical Packages
-
-5.5 Fast Fourier Transform
-==========================
+File: slib.info, Node: Discrete Fourier Transform, Next: Cyclic Checksum, Prev: Random Numbers, Up: Mathematical Packages
+ |
+5.7 Discrete Fourier Transform |
+============================== |
-`(require 'fft)'
+`(require 'dft)' or `(require 'Fourier-transform)' |
+ `fft' and `fft-1' compute the Fast-Fourier-Transforms (O(n*log(n))) |
+of arrays whose dimensions are all powers of 2. |
+ |
+ `sft' and `sft-1' compute the Discrete-Fourier-Transforms for all |
+combinations of dimensions (O(n^2)). |
+ |
+ -- Function: sft array prot |
+ -- Function: sft array |
+ ARRAY is an array of positive rank. `sft' returns an array of |
+ type PROT (defaulting to ARRAY) of complex numbers comprising the |
+ "Discrete Fourier Transform" of ARRAY. |
+ |
+ -- Function: sft-1 array prot |
+ -- Function: sft-1 array |
+ ARRAY is an array of positive rank. `sft-1' returns an array of |
+ type PROT (defaulting to ARRAY) of complex numbers comprising the |
+ inverse Discrete Fourier Transform of ARRAY. |
+ |
+ -- Function: fft array prot |
-- Function: fft array
- ARRAY is an array of `(expt 2 n)' numbers. `fft' returns an array
- of complex numbers comprising the "Discrete Fourier Transform" of
- ARRAY.
+ ARRAY is an array of positive rank whose dimensions are all powers |
+ of 2. `fft' returns an array of type PROT (defaulting to ARRAY) |
+ of complex numbers comprising the Discrete Fourier Transform of |
+ ARRAY.
+ -- Function: fft-1 array prot |
-- Function: fft-1 array
- `fft-1' returns an array of complex numbers comprising the inverse
- Discrete Fourier Transform of ARRAY.
+ ARRAY is an array of positive rank whose dimensions are all powers |
+ of 2. `fft-1' returns an array of type PROT (defaulting to ARRAY) |
+ of complex numbers comprising the inverse Discrete Fourier |
+ Transform of ARRAY. |
+ |
+ `dft' and `dft-1' compute the discrete Fourier transforms using the |
+best method for decimating each dimension. |
+ |
+ -- Function: dft array prot |
+ -- Function: dft array |
+ `dft' returns an array of type PROT (defaulting to ARRAY) of |
+ complex numbers comprising the Discrete Fourier Transform of ARRAY. |
+ |
+ -- Function: dft-1 array prot |
+ -- Function: dft-1 array |
+ `dft-1' returns an array of type PROT (defaulting to ARRAY) of |
+ complex numbers comprising the inverse Discrete Fourier Transform |
+ of ARRAY. |
`(fft-1 (fft ARRAY))' will return an array of values close to ARRAY.
@@ -6316,9 +6500,9 @@ File: slib.info, Node: Fast Fourier Transform, Next: Cyclic Checksum, Prev: R
1.0 -61.23031769111886e-18+1.0i -1.0 61.23031769111886e-18-1.0i)

-File: slib.info, Node: Cyclic Checksum, Next: Graphing, Prev: Fast Fourier Transform, Up: Mathematical Packages
-
-5.6 Cyclic Checksum
+File: slib.info, Node: Cyclic Checksum, Next: Graphing, Prev: Discrete Fourier Transform, Up: Mathematical Packages
+ |
+5.8 Cyclic Checksum |
===================
`(require 'crc)' Cyclic Redundancy Checks using Galois field GF(2)
@@ -6506,7 +6690,7 @@ checksum of the bytes in STR, can be defined as follows:

File: slib.info, Node: Graphing, Next: Solid Modeling, Prev: Cyclic Checksum, Up: Mathematical Packages
-5.7 Graphing
+5.9 Graphing |
============
* Menu:
@@ -6517,7 +6701,7 @@ File: slib.info, Node: Graphing, Next: Solid Modeling, Prev: Cyclic Checksum,

File: slib.info, Node: Character Plotting, Next: PostScript Graphing, Prev: Graphing, Up: Graphing
-5.7.1 Character Plotting
+5.9.1 Character Plotting |
------------------------
`(require 'charplot)'
@@ -6630,7 +6814,7 @@ File: slib.info, Node: Character Plotting, Next: PostScript Graphing, Prev: G

File: slib.info, Node: PostScript Graphing, Prev: Character Plotting, Up: Graphing
-5.7.2 PostScript Graphing
+5.9.2 PostScript Graphing |
-------------------------
`(require 'eps-graph)'
@@ -6681,7 +6865,7 @@ first ELT argument to the last.

File: slib.info, Node: Column Ranges, Next: Drawing the Graph, Prev: PostScript Graphing, Up: PostScript Graphing
-5.7.2.1 Column Ranges
+5.9.2.1 Column Ranges |
.....................
A "range" is a list of two numbers, the minimum and the maximum. Ranges
@@ -6722,7 +6906,7 @@ can be given explicity or computed in PostScript by `column-range'.

File: slib.info, Node: Drawing the Graph, Next: Graphics Context, Prev: Column Ranges, Up: PostScript Graphing
-5.7.2.2 Drawing the Graph
+5.9.2.2 Drawing the Graph |
.........................
-- Function: plot-column array x-column y-column proc3s
@@ -6780,7 +6964,7 @@ The glyphs and drawing styles available are:

File: slib.info, Node: Graphics Context, Next: Rectangles, Prev: Drawing the Graph, Up: PostScript Graphing
-5.7.2.3 Graphics Context
+5.9.2.3 Graphics Context |
........................
-- Function: in-graphic-context arg ...
@@ -6833,7 +7017,7 @@ The effects of `clip-to-rect' are also part of the graphic context.

File: slib.info, Node: Rectangles, Next: Legending, Prev: Graphics Context, Up: PostScript Graphing
-5.7.2.4 Rectangles
+5.9.2.4 Rectangles |
..................
A "rectangle" is a list of 4 numbers; the first two elements are the x
@@ -6873,7 +7057,7 @@ elements are the width and height of the rectangle.

File: slib.info, Node: Legending, Next: Legacy Plotting, Prev: Rectangles, Up: PostScript Graphing
-5.7.2.5 Legending
+5.9.2.5 Legending |
.................
-- Function: title-top title subtitle
@@ -6909,13 +7093,13 @@ File: slib.info, Node: Legending, Next: Legacy Plotting, Prev: Rectangles, U
ticks are -TICK-WIDTH long on the left side of X-COORD; and TEXT
and numeric legends are on the right.
- -- Function: rule-horizontal x-coord text tick-height
- Draws a horizontal ruler with X coordinate X-COORD and labeled with
+ -- Function: rule-horizontal y-coord text tick-height |
+ Draws a horizontal ruler with Y coordinate Y-COORD and labeled with |
string TEXT. If TICK-HEIGHT is positive, then the ticks are
- TICK-HEIGHT long on the right side of X-COORD; and TEXT and
- numeric legends are on the left. If TICK-HEIGHT is negative, then
- the ticks are -TICK-HEIGHT long on the left side of X-COORD; and
- TEXT and numeric legends are on the right.
+ TICK-HEIGHT long on the top side of Y-COORD; and TEXT and numeric |
+ legends are on the bottom. If TICK-HEIGHT is negative, then the |
+ ticks are -TICK-HEIGHT long on the bottom side of Y-COORD; and |
+ TEXT and numeric legends are on the top. |
-- Function: y-axis
Draws the y-axis.
@@ -6934,7 +7118,7 @@ File: slib.info, Node: Legending, Next: Legacy Plotting, Prev: Rectangles, U

File: slib.info, Node: Legacy Plotting, Next: Example Graph, Prev: Legending, Up: PostScript Graphing
-5.7.2.6 Legacy Plotting
+5.9.2.6 Legacy Plotting |
.......................
-- Variable: graph:dimensions
@@ -6948,11 +7132,11 @@ File: slib.info, Node: Legacy Plotting, Next: Example Graph, Prev: Legending,
range X1 to X2. If the optional integer argument NPTS is
supplied, it specifies the number of points to evaluate FUNC at.
- -- Function: x1 x2 npts func1 func2 ... |
- Creates and displays an encapsulated PostScript graph of the |
- one-argument functions FUNC1, FUNC2, ... over the range X1 to X2 |
- at NPTS points. |
- |
+ -- Function: x1 x2 npts func1 func2 ...
+ Creates and displays an encapsulated PostScript graph of the
+ one-argument functions FUNC1, FUNC2, ... over the range X1 to X2
+ at NPTS points.
+
-- Function: plot coords x-label y-label
COORDS is a list or vector of coordinates, lists of x and y
coordinates. X-LABEL and Y-LABEL are strings with which to label
@@ -6961,7 +7145,7 @@ File: slib.info, Node: Legacy Plotting, Next: Example Graph, Prev: Legending,

File: slib.info, Node: Example Graph, Prev: Legacy Plotting, Up: PostScript Graphing
-5.7.2.7 Example Graph
+5.9.2.7 Example Graph |
.....................
The file `am1.5.html', a table of solar irradiance, is fetched with
@@ -7063,8 +7247,8 @@ scales.

File: slib.info, Node: Solid Modeling, Next: Color, Prev: Graphing, Up: Mathematical Packages
-5.8 Solid Modeling
-==================
+5.10 Solid Modeling |
+=================== |
`(require 'solid)'
@@ -7274,6 +7458,11 @@ Object Primitives
origin. APPEARANCE determines the surface properties of the
returned object.
+ -- Function: solid:lumber geometry appearance |
+ Returns a box of the specified GEOMETRY, but with the y-axis of a |
+ texture specified in APPEARANCE being applied along the longest |
+ dimension in GEOMETRY. |
+ |
-- Function: solid:cylinder radius height appearance
-- Function: solid:cylinder radius height
Returns a right cylinder with dimensions `(abs RADIUS)' and `(abs
@@ -7330,6 +7519,15 @@ Object Primitives
3)' and `(4 5 6)':
(solid:polyline '((1 2 3) (4 5 6)) (solid:color #f 0 #f 0 '(1 0 0)))
+ -- Function: solid:prism xz-array y appearance |
+ -- Function: solid:prism xz-array y |
+ XZ-ARRAY must be an N-by-2 array holding a sequence of coordinates |
+ tracing a non-intersecting clockwise loop in the x-z plane. |
+ `solid:prism' will close the sequence if the first and last |
+ coordinates are not the same. |
+ |
+ `solid:prism' returns a capped prism Y long. |
+ |
-- Function: solid:basrelief width height depth colorray appearance
-- Function: solid:basrelief width height depth appearance
-- Function: solid:basrelief width height depth
@@ -7485,8 +7683,8 @@ Spatial Transformations

File: slib.info, Node: Color, Next: Root Finding, Prev: Solid Modeling, Up: Mathematical Packages
-5.9 Color
-=========
+5.11 Color |
+========== |
`http://swiss.csail.mit.edu/~jaffer/Color'
@@ -7508,8 +7706,8 @@ encountered in practice and the literature.

File: slib.info, Node: Color Data-Type, Next: Color Spaces, Prev: Color, Up: Color
-5.9.1 Color Data-Type
----------------------
+5.11.1 Color Data-Type |
+---------------------- |
`(require 'color)'
@@ -7563,8 +7761,8 @@ File: slib.info, Node: Color Data-Type, Next: Color Spaces, Prev: Color, Up:
-- Function: convert-color color e-sRGB precision
Converts COLOR into SPACE at optional WHITE-POINT.
-5.9.1.1 External Representation
-...............................
+5.11.1.1 External Representation |
+................................ |
Each color encoding has an external, case-insensitive representation.
To ensure portability, the white-point for all color strings is D65.
@@ -7607,8 +7805,8 @@ sRGB #x<RRGGBB>
syntactically valid notation for a color, then `string->color'
returns #f.
-5.9.1.2 White
-.............
+5.11.1.2 White |
+.............. |
We experience color relative to the illumination around us. CIEXYZ
coordinates, although subject to uniform scaling, are objective. Thus
@@ -7642,8 +7840,8 @@ device-dependent RGBi and RGB spaces of Xlib.

File: slib.info, Node: Color Spaces, Next: Spectra, Prev: Color Data-Type, Up: Color
-5.9.2 Color Spaces
-------------------
+5.11.2 Color Spaces |
+------------------- |
Measurement-based Color Spaces
..............................
@@ -7909,8 +8107,8 @@ ICC.1:1998-09:

File: slib.info, Node: Spectra, Next: Color Difference Metrics, Prev: Color Spaces, Up: Color
-5.9.3 Spectra
--------------
+5.11.3 Spectra |
+-------------- |
The following functions compute colors from spectra, scale color
luminance, and extract chromaticity. XYZ is used in the names of
@@ -8123,8 +8321,8 @@ chromaticities with sums greater than one are scaled to sum to one.

File: slib.info, Node: Color Difference Metrics, Next: Color Conversions, Prev: Spectra, Up: Color
-5.9.4 Color Difference Metrics
-------------------------------
+5.11.4 Color Difference Metrics |
+------------------------------- |
`(require 'color-space)'
@@ -8194,8 +8392,8 @@ to use a single value pass/fail tolerance for all shades.

File: slib.info, Node: Color Conversions, Next: Color Names, Prev: Color Difference Metrics, Up: Color
-5.9.5 Color Conversions
------------------------
+5.11.5 Color Conversions |
+------------------------ |
This package contains the low-level color conversion and color metric
routines operating on lists of 3 numbers. There is no type or range
@@ -8265,8 +8463,8 @@ Do not convert e-sRGB precision through `e-sRGB->sRGB' then

File: slib.info, Node: Color Names, Next: Daylight, Prev: Color Conversions, Up: Color
-5.9.6 Color Names
------------------
+5.11.6 Color Names |
+------------------ |
`(require 'color-names)'
@@ -8431,8 +8629,8 @@ program, then you must include its license with your program:

File: slib.info, Node: Daylight, Prev: Color Names, Up: Color
-5.9.7 Daylight
---------------
+5.11.7 Daylight |
+--------------- |
`(require 'daylight)'
@@ -8529,15 +8727,15 @@ turbidity values less than 1.3.

File: slib.info, Node: Root Finding, Next: Minimizing, Prev: Color, Up: Mathematical Packages
-5.10 Root Finding
+5.12 Root Finding |
=================
`(require 'root)'
- -- Function: integer-sqrt y |
- Given a non-negative integer Y, returns the largest integer whose |
- square is less than or equal to Y. |
- |
+ -- Function: integer-sqrt y
+ Given a non-negative integer Y, returns the largest integer whose
+ square is less than or equal to Y.
+
-- Function: newton:find-integer-root f df/dx x0
Given integer valued procedure F, its derivative (with respect to
its argument) DF/DX, and initial integer value X0 for which
@@ -8554,7 +8752,7 @@ File: slib.info, Node: Root Finding, Next: Minimizing, Prev: Color, Up: Math
(ash 1 (quotient (integer-length y) 2))))
(integer-sqrt 15) => 4
- |
+
-- Function: newton:find-root f df/dx x0 prec
Given real valued procedures F, DF/DX of one (real) argument,
initial real value X0 for which DF/DX(X0) is non-zero, and
@@ -8623,8 +8821,8 @@ Polynomials', IEEE Transactions on Circuits and Systems, Vol. 36, No.

File: slib.info, Node: Minimizing, Next: The Limit, Prev: Root Finding, Up: Mathematical Packages
- |
-5.11 Minimizing
+
+5.13 Minimizing |
===============
`(require 'minimize)'
@@ -8670,108 +8868,108 @@ and Software' Prentice-Hall, 1989, ISBN 0-13-627258-4

File: slib.info, Node: The Limit, Next: Commutative Rings, Prev: Minimizing, Up: Mathematical Packages
- |
-5.12 The Limit |
-============== |
- |
- -- library procedure: limit proc x1 x2 k |
- -- library procedure: limit proc x1 x2 |
- PROC must be a procedure taking a single inexact real argument. K |
- is the number of points on which PROC will be called; it defaults |
- to 8. |
- |
- If X1 is finite, then PROC must be continuous on the half-open |
- interval: |
- |
- ( X1 .. X1+X2 ] |
- |
- And X2 should be chosen small enough so that PROC is expected to |
- be monotonic or constant on arguments between X1 and X1 + X2. |
- |
- `Limit' computes the limit of PROC as its argument approaches X1 |
- from X1 + X2. `Limit' returns a real number or real infinity or |
- `#f'. |
- |
- If X1 is not finite, then X2 must be a finite nonzero real with |
- the same sign as X1; in which case `limit' returns: |
- |
- `(limit (lambda (x) (proc (/ x))) 0.0 (/ X2) K)' |
- |
- `Limit' examines the magnitudes of the differences between |
- successive values returned by PROC called with a succession of |
- numbers from X1+X2/K to X1. |
- |
- If the magnitudes of differences are monotonically decreasing, then |
- then the limit is extrapolated from the degree n polynomial passing |
- through the samples returned by PROC. |
- |
- If the magnitudes of differences are increasing as fast or faster |
- than a hyperbola matching at X1+X2, then a real infinity with sign |
- the same as the differences is returned. |
- |
- If the magnitudes of differences are increasing more slowly than |
- the hyperbola matching at X1+X2, then the limit is extrapolated |
- from the quadratic passing through the three samples closest to X1. |
- |
- If the magnitudes of differences are not monotonic or are not |
- completely within one of the above categories, then #f is returned. |
- |
- ;; constant |
- (limit (lambda (x) (/ x x)) 0 1.0e-9) ==> 1.0 |
- (limit (lambda (x) (expt 0 x)) 0 1.0e-9) ==> 0.0 |
- (limit (lambda (x) (expt 0 x)) 0 -1.0e-9) ==> +inf.0 |
- ;; linear |
- (limit + 0 976.5625e-6) ==> 0.0 |
- (limit - 0 976.5625e-6) ==> 0.0 |
- ;; vertical point of inflection |
- (limit sqrt 0 1.0e-18) ==> 0.0 |
+
+5.14 The Limit |
+==============
+
+ -- library procedure: limit proc x1 x2 k
+ -- library procedure: limit proc x1 x2
+ PROC must be a procedure taking a single inexact real argument. K
+ is the number of points on which PROC will be called; it defaults
+ to 8.
+
+ If X1 is finite, then PROC must be continuous on the half-open
+ interval:
+
+ ( X1 .. X1+X2 ]
+
+ And X2 should be chosen small enough so that PROC is expected to
+ be monotonic or constant on arguments between X1 and X1 + X2.
+
+ `Limit' computes the limit of PROC as its argument approaches X1
+ from X1 + X2. `Limit' returns a real number or real infinity or
+ `#f'.
+
+ If X1 is not finite, then X2 must be a finite nonzero real with
+ the same sign as X1; in which case `limit' returns:
+
+ `(limit (lambda (x) (proc (/ x))) 0.0 (/ X2) K)'
+
+ `Limit' examines the magnitudes of the differences between
+ successive values returned by PROC called with a succession of
+ numbers from X1+X2/K to X1.
+
+ If the magnitudes of differences are monotonically decreasing, then
+ then the limit is extrapolated from the degree n polynomial passing
+ through the samples returned by PROC.
+
+ If the magnitudes of differences are increasing as fast or faster
+ than a hyperbola matching at X1+X2, then a real infinity with sign
+ the same as the differences is returned.
+
+ If the magnitudes of differences are increasing more slowly than
+ the hyperbola matching at X1+X2, then the limit is extrapolated
+ from the quadratic passing through the three samples closest to X1.
+
+ If the magnitudes of differences are not monotonic or are not
+ completely within one of the above categories, then #f is returned.
+
+ ;; constant
+ (limit (lambda (x) (/ x x)) 0 1.0e-9) ==> 1.0
+ (limit (lambda (x) (expt 0 x)) 0 1.0e-9) ==> 0.0
+ (limit (lambda (x) (expt 0 x)) 0 -1.0e-9) ==> +inf.0
+ ;; linear
+ (limit + 0 976.5625e-6) ==> 0.0
+ (limit - 0 976.5625e-6) ==> 0.0
+ ;; vertical point of inflection
+ (limit sqrt 0 1.0e-18) ==> 0.0
(limit (lambda (x) (* x (log x))) 0 1.0e-9) ==> -102.70578127633066e-12
(limit (lambda (x) (/ x (log x))) 0 1.0e-9) ==> 96.12123142321669e-15
- ;; limits tending to infinity |
- (limit + +inf.0 1.0e9) ==> +inf.0 |
- (limit + -inf.0 -1.0e9) ==> -inf.0 |
- (limit / 0 1.0e-9) ==> +inf.0 |
- (limit / 0 -1.0e-9) ==> -inf.0 |
- (limit (lambda (x) (/ (log x) x)) 0 1.0e-9) ==> -inf.0 |
- (limit (lambda (x) (/ (magnitude (log x)) x)) 0 -1.0e-9) |
- ==> -inf.0 |
- ;; limit doesn't exist |
- (limit sin +inf.0 1.0e9) ==> #f |
- (limit (lambda (x) (sin (/ x))) 0 1.0e-9) ==> #f |
- (limit (lambda (x) (sin (/ x))) 0 -1.0e-9) ==> #f |
- (limit (lambda (x) (/ (log x) x)) 0 -1.0e-9) ==> #f |
- ;; conditionally convergent - return #f |
- (limit (lambda (x) (/ (sin x) x)) +inf.0 1.0e222) |
- ==> #f |
- ;; asymptotes |
- (limit / -inf.0 -1.0e222) ==> 0.0 |
- (limit / +inf.0 1.0e222) ==> 0.0 |
- (limit (lambda (x) (expt x x)) 0 1.0e-18) ==> 1.0 |
- (limit (lambda (x) (sin (/ x))) +inf.0 1.0e222) ==> 0.0 |
- (limit (lambda (x) (/ (+ (exp (/ x)) 1))) 0 1.0e-9) |
- ==> 0.0 |
- (limit (lambda (x) (/ (+ (exp (/ x)) 1))) 0 -1.0e-9) |
- ==> 1.0 |
- (limit (lambda (x) (real-part (expt (tan x) (cos x)))) (/ pi 2) 1.0e-9) |
- ==> 1.0 |
- ;; This example from the 1979 Macsyma manual grows so rapidly |
- ;; that x2 must be less than 41. It correctly returns e^2. |
- (limit (lambda (x) (expt (+ x (exp x) (exp (* 2 x))) (/ x))) +inf.0 40) |
- ==> 7.3890560989306504 |
- ;; LIMIT can calculate the proper answer when evaluation |
- ;; of the function at the limit point does not: |
+ ;; limits tending to infinity
+ (limit + +inf.0 1.0e9) ==> +inf.0
+ (limit + -inf.0 -1.0e9) ==> -inf.0
+ (limit / 0 1.0e-9) ==> +inf.0
+ (limit / 0 -1.0e-9) ==> -inf.0
+ (limit (lambda (x) (/ (log x) x)) 0 1.0e-9) ==> -inf.0
+ (limit (lambda (x) (/ (magnitude (log x)) x)) 0 -1.0e-9)
+ ==> -inf.0
+ ;; limit doesn't exist
+ (limit sin +inf.0 1.0e9) ==> #f
+ (limit (lambda (x) (sin (/ x))) 0 1.0e-9) ==> #f
+ (limit (lambda (x) (sin (/ x))) 0 -1.0e-9) ==> #f
+ (limit (lambda (x) (/ (log x) x)) 0 -1.0e-9) ==> #f
+ ;; conditionally convergent - return #f
+ (limit (lambda (x) (/ (sin x) x)) +inf.0 1.0e222)
+ ==> #f
+ ;; asymptotes
+ (limit / -inf.0 -1.0e222) ==> 0.0
+ (limit / +inf.0 1.0e222) ==> 0.0
+ (limit (lambda (x) (expt x x)) 0 1.0e-18) ==> 1.0
+ (limit (lambda (x) (sin (/ x))) +inf.0 1.0e222) ==> 0.0
+ (limit (lambda (x) (/ (+ (exp (/ x)) 1))) 0 1.0e-9)
+ ==> 0.0
+ (limit (lambda (x) (/ (+ (exp (/ x)) 1))) 0 -1.0e-9)
+ ==> 1.0
+ (limit (lambda (x) (real-part (expt (tan x) (cos x)))) (/ pi 2) 1.0e-9)
+ ==> 1.0
+ ;; This example from the 1979 Macsyma manual grows so rapidly
+ ;; that x2 must be less than 41. It correctly returns e^2.
+ (limit (lambda (x) (expt (+ x (exp x) (exp (* 2 x))) (/ x))) +inf.0 40)
+ ==> 7.3890560989306504
+ ;; LIMIT can calculate the proper answer when evaluation
+ ;; of the function at the limit point does not:
(tan (atan +inf.0)) ==> 16.331778728383844e15
- (limit tan (atan +inf.0) -1.0e-15) ==> +inf.0 |
+ (limit tan (atan +inf.0) -1.0e-15) ==> +inf.0
(tan (atan +inf.0)) ==> 16.331778728383844e15
- (limit tan (atan +inf.0) 1.0e-15) ==> -inf.0 |
- ((lambda (x) (expt (exp (/ -1 x)) x)) 0) ==> 1.0 |
- (limit (lambda (x) (expt (exp (/ -1 x)) x)) 0 1.0e-9) |
- ==> 0.0 |
- |
+ (limit tan (atan +inf.0) 1.0e-15) ==> -inf.0
+ ((lambda (x) (expt (exp (/ -1 x)) x)) 0) ==> 1.0
+ (limit (lambda (x) (expt (exp (/ -1 x)) x)) 0 1.0e-9)
+ ==> 0.0
+

File: slib.info, Node: Commutative Rings, Next: Matrix Algebra, Prev: The Limit, Up: Mathematical Packages
- |
-5.13 Commutative Rings |
+
+5.15 Commutative Rings |
======================
Scheme provides a consistent and capable set of numeric functions.
@@ -8837,7 +9035,7 @@ expressions are handled similarly.
`remainder', `lcm', and `gcd'; but these work only for the more
restrictive Euclidean (Unique Factorization) Domain.
-5.14 Rules and Rulesets |
+5.16 Rules and Rulesets |
=======================
The "commutative-ring" package allows control of ring properties
@@ -8911,7 +9109,7 @@ involving different non-numeric elements.
(lambda (exp1 exp2)
(apply + (map (lambda (trm) (* trm exp2)) (cdr exp1))))))
-5.15 How to Create a Commutative Ring |
+5.17 How to Create a Commutative Ring |
=====================================
The first step in creating your commutative ring is to write procedures
@@ -9050,7 +9248,7 @@ objects.

File: slib.info, Node: Matrix Algebra, Prev: Commutative Rings, Up: Mathematical Packages
-5.16 Matrix Algebra |
+5.18 Matrix Algebra |
===================
`(require 'determinant)'
@@ -9357,7 +9555,7 @@ missing.
(every
(lambda (c)
(memv c '(#\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9
- #\+ #\( #\ #\) #\-)))
+ #\+ #\( #\space #\) #\-))) |
(string->list d))))
string))
@@ -11246,7 +11444,7 @@ File: slib.info, Node: Data Structures, Next: Sorting and Searching, Prev: Ot
* Arrays:: 'array
* Subarrays:: 'subarray
* Array Mapping:: 'array-for-each
-* Array Interpolation:: 'array-interpolate |
+* Array Interpolation:: 'array-interpolate
* Association Lists:: 'alist
* Byte:: 'byte
* Byte/Number Conversions:: 'byte-number
@@ -11538,9 +11736,13 @@ File: slib.info, Node: Subarrays, Next: Array Mapping, Prev: Arrays, Up: Dat
#2A((a b) (d e))
> (subarray ra #f '(1 2))
#2A((b c) (e f))
+ > (subarray ra #f '(2 1)) |
+ #2A((c b) (f e)) |
- -- Variable: subarray0
- Legacy alias for subarray.
+ Arrays can be reflected (reversed) using `subarray': |
+ |
+ > (subarray '#1A(a b c d e) '(4 0)) |
+ #1A(e d c b a) |
-- Function: array-trim array trim ...
Returns a subarray sharing contents with ARRAY except for slices
@@ -11563,7 +11765,7 @@ File: slib.info, Node: Subarrays, Next: Array Mapping, Prev: Arrays, Up: Dat

File: slib.info, Node: Array Mapping, Next: Array Interpolation, Prev: Subarrays, Up: Data Structures
- |
+
7.1.3 Array Mapping
-------------------
@@ -11618,39 +11820,39 @@ File: slib.info, Node: Array Mapping, Next: Array Interpolation, Prev: Subarr

File: slib.info, Node: Array Interpolation, Next: Association Lists, Prev: Array Mapping, Up: Data Structures
- |
-7.1.4 Array Interpolation |
-------------------------- |
- |
-`(require 'array-interpolate)' |
- |
- -- Function: interpolate-array-ref ra x1 ... xj |
- RA must be an array of rank j containing numbers. |
- `interpolate-array-ref' returns a value interpolated from the |
- nearest j-dimensional cube of elements of RA. |
- |
- (interpolate-array-ref '#2A:fixZ32b((1 2 3) (4 5 6)) 1 0.1) |
- ==> 4.1 |
- (interpolate-array-ref '#2A:fixZ32b((1 2 3) (4 5 6)) 0.5 0.25) |
- ==> 2.75 |
- |
- -- Procedure: resample-array! ra1 ra2 |
- RA1 and RA2 must be numeric arrays of equal rank. |
- `resample-array!' sets RA1 to values interpolated from RA2 such |
- that the values of elements at the corners of RA1 and RA2 are |
- equal. |
- |
- (define ra (make-array (A:fixZ32b) 2 2)) |
- (resample-array! ra '#2A:fixZ32b((1 2 3) (4 5 6))) |
- ra ==> #2A:fixZ32b((1 3) (4 6)) |
- (define ra (make-array (A:floR64b) 3 2)) |
- (resample-array! ra '#2A:fixZ32b((1 2 3) (4 5 6))) |
- ra ==> #2A:floR64b((1.0 3.0) (2.5 4.5) (4.0 6.0)) |
- |
+
+7.1.4 Array Interpolation
+-------------------------
+
+`(require 'array-interpolate)'
+
+ -- Function: interpolate-array-ref ra x1 ... xj
+ RA must be an array of rank j containing numbers.
+ `interpolate-array-ref' returns a value interpolated from the
+ nearest j-dimensional cube of elements of RA.
+
+ (interpolate-array-ref '#2A:fixZ32b((1 2 3) (4 5 6)) 1 0.1)
+ ==> 4.1
+ (interpolate-array-ref '#2A:fixZ32b((1 2 3) (4 5 6)) 0.5 0.25)
+ ==> 2.75
+
+ -- Procedure: resample-array! ra1 ra2
+ RA1 and RA2 must be numeric arrays of equal rank.
+ `resample-array!' sets RA1 to values interpolated from RA2 such
+ that the values of elements at the corners of RA1 and RA2 are
+ equal.
+
+ (define ra (make-array (A:fixZ32b) 2 2))
+ (resample-array! ra '#2A:fixZ32b((1 2 3) (4 5 6)))
+ ra ==> #2A:fixZ32b((1 3) (4 6))
+ (define ra (make-array (A:floR64b) 3 2))
+ (resample-array! ra '#2A:fixZ32b((1 2 3) (4 5 6)))
+ ra ==> #2A:floR64b((1.0 3.0) (2.5 4.5) (4.0 6.0))
+

File: slib.info, Node: Association Lists, Next: Byte, Prev: Array Interpolation, Up: Data Structures
- |
-7.1.5 Association Lists |
+
+7.1.5 Association Lists
-----------------------
`(require 'alist)'
@@ -11706,7 +11908,7 @@ tables for improved performance.

File: slib.info, Node: Byte, Next: Byte/Number Conversions, Prev: Association Lists, Up: Data Structures
-7.1.6 Byte |
+7.1.6 Byte
----------
`(require 'byte)'
@@ -11752,6 +11954,16 @@ concerned.
-- Function: bytes-copy bytes
Returns a newly allocated copy of the given BYTES.
+ -- Function: subbytes bytes start end |
+ BYTES must be a bytes, and START and END must be exact integers |
+ satisfying |
+ |
+ 0 <= START <= END <= (bytes-length BYTES). |
+ |
+ `subbytes' returns a newly allocated bytes formed from the bytes of |
+ BYTES beginning with index START (inclusive) and ending with index |
+ END (exclusive). |
+ |
-- Procedure: bytes-reverse! bytes
Reverses the order of byte-array BYTES.
@@ -11810,24 +12022,24 @@ Byte/Number Conversions:: are always big-endian.
PORT may be omitted, in which case it defaults to the value
returned by `current-output-port'.
-`substring-read!' and `substring-write' provide lower-level procedures
+`subbytes-read!' and `subbytes-write' provide lower-level procedures |
for reading and writing blocks of bytes. The relative size of START
and END determines the order of writing.
- -- Procedure: substring-read! string start end port
- -- Procedure: substring-read! string start end
+ -- Procedure: subbytes-read! string start end port |
+ -- Procedure: subbytes-read! string start end |
Fills STRING with up to `(abs (- START END))' bytes read from
PORT. The first byte read is stored at index STRING.
- `substring-read!' returns the number of bytes read.
+ `subbytes-read!' returns the number of bytes read. |
PORT may be omitted, in which case it defaults to the value
returned by `current-input-port'.
- -- Function: substring-write string start end port
- -- Function: substring-write string start end
- `substring-write' writes `(abs (- START END))' bytes to
- output-port PORT. The first byte written is index START of
- STRING. `substring-write' returns the number of bytes written.
+ -- Function: subbytes-write string start end port |
+ -- Function: subbytes-write string start end |
+ `subbytes-write' writes `(abs (- START END))' bytes to output-port |
+ PORT. The first byte written is index START of STRING. |
+ `subbytes-write' returns the number of bytes written. |
PORT may be omitted, in which case it defaults to the value
returned by `current-output-port'.
@@ -11835,7 +12047,7 @@ and END determines the order of writing.

File: slib.info, Node: Byte/Number Conversions, Next: MAT-File Format, Prev: Byte, Up: Data Structures
-7.1.7 Byte/Number Conversions |
+7.1.7 Byte/Number Conversions
-----------------------------
`(require 'byte-number)'
@@ -11877,8 +12089,8 @@ determines the signedness of the number.
calculates and returns the value of BYTES interpreted as a
big-endian IEEE 4-byte (32-bit) number.
- (bytes->ieee-float (bytes 0 0 0 0)) => 0.0 |
- (bytes->ieee-float (bytes #x80 0 0 0)) => -0.0 |
+ (bytes->ieee-float (bytes 0 0 0 0)) => 0.0
+ (bytes->ieee-float (bytes #x80 0 0 0)) => -0.0
(bytes->ieee-float (bytes #x40 0 0 0)) => 2.0
(bytes->ieee-float (bytes #x40 #xd0 0 0)) => 6.5
(bytes->ieee-float (bytes #xc0 #xd0 0 0)) => -6.5
@@ -11887,8 +12099,8 @@ determines the signedness of the number.
(bytes->ieee-float (bytes 0 #x40 0 0)) => 5.877471754111437e-39
(bytes->ieee-float (bytes 0 0 0 1)) => 1.401298464324817e-45
- (bytes->ieee-float (bytes #xff #x80 0 0)) => -inf.0 |
- (bytes->ieee-float (bytes #x7f #x80 0 0)) => +inf.0 |
+ (bytes->ieee-float (bytes #xff #x80 0 0)) => -inf.0
+ (bytes->ieee-float (bytes #x7f #x80 0 0)) => +inf.0
(bytes->ieee-float (bytes #x7f #x80 0 1)) => 0/0
-- Function: bytes->ieee-double bytes
@@ -11897,8 +12109,8 @@ determines the signedness of the number.
big-endian IEEE 8-byte (64-bit) number.
(bytes->ieee-double (bytes 0 0 0 0 0 0 0 0)) => 0.0
- (bytes->ieee-double (bytes #x80 0 0 0 0 0 0 0)) => -0.0 |
- (bytes->ieee-double (bytes #x40 0 0 0 0 0 0 0)) => 2.0 |
+ (bytes->ieee-double (bytes #x80 0 0 0 0 0 0 0)) => -0.0
+ (bytes->ieee-double (bytes #x40 0 0 0 0 0 0 0)) => 2.0
(bytes->ieee-double (bytes #x40 #x1A 0 0 0 0 0 0)) => 6.5
(bytes->ieee-double (bytes #xC0 #x1A 0 0 0 0 0 0)) => -6.5
@@ -11906,8 +12118,8 @@ determines the signedness of the number.
(bytes->ieee-double (bytes 0 4 0 0 0 0 0 0)) => 5.562684646268003e-309
(bytes->ieee-double (bytes 0 0 0 0 0 0 0 1)) => 4.0e-324
- (bytes->ieee-double (bytes #xFF #xF0 0 0 0 0 0 0)) => -inf.0 |
- (bytes->ieee-double (bytes #x7F #xF0 0 0 0 0 0 0)) => +inf.0 |
+ (bytes->ieee-double (bytes #xFF #xF0 0 0 0 0 0 0)) => -inf.0
+ (bytes->ieee-double (bytes #x7F #xF0 0 0 0 0 0 0)) => +inf.0
(bytes->ieee-double (bytes #x7F #xF8 0 0 0 0 0 0)) => 0/0
-- Function: ieee-float->bytes x
@@ -11932,8 +12144,8 @@ determines the signedness of the number.
Returns a 8-element byte-array encoding the IEEE double-precision
floating-point of X.
- (bytes->list (ieee-double->bytes 0.0)) => (0 0 0 0 0 0 0 0) |
- (bytes->list (ieee-double->bytes -0.0)) => (128 0 0 0 0 0 0 0) |
+ (bytes->list (ieee-double->bytes 0.0)) => (0 0 0 0 0 0 0 0)
+ (bytes->list (ieee-double->bytes -0.0)) => (128 0 0 0 0 0 0 0)
(bytes->list (ieee-double->bytes 2.0)) => (64 0 0 0 0 0 0 0)
(bytes->list (ieee-double->bytes 6.5)) => (64 26 0 0 0 0 0 0)
(bytes->list (ieee-double->bytes -6.5)) => (192 26 0 0 0 0 0 0)
@@ -11945,8 +12157,8 @@ determines the signedness of the number.
(bytes->list (ieee-double->bytes 4.0e-324))
=> ( 0 0 0 0 0 0 0 1)
- (bytes->list (ieee-double->bytes -inf.0)) => (255 240 0 0 0 0 0 0) |
- (bytes->list (ieee-double->bytes +inf.0)) => (127 240 0 0 0 0 0 0) |
+ (bytes->list (ieee-double->bytes -inf.0)) => (255 240 0 0 0 0 0 0)
+ (bytes->list (ieee-double->bytes +inf.0)) => (127 240 0 0 0 0 0 0)
(bytes->list (ieee-double->bytes 0/0)) => (127 248 0 0 0 0 0 0)
Byte Collation Order
@@ -11993,7 +12205,7 @@ enables the full range of numbers as keys in

File: slib.info, Node: MAT-File Format, Next: Portable Image Files, Prev: Byte/Number Conversions, Up: Data Structures
-7.1.8 MAT-File Format |
+7.1.8 MAT-File Format
---------------------
`(require 'matfile)'
@@ -12024,7 +12236,7 @@ awaits a sample file.

File: slib.info, Node: Portable Image Files, Next: Collections, Prev: MAT-File Format, Up: Data Structures
-7.1.9 Portable Image Files |
+7.1.9 Portable Image Files
--------------------------
`(require 'pnm)'
@@ -12073,8 +12285,8 @@ File: slib.info, Node: Portable Image Files, Next: Collections, Prev: MAT-Fil

File: slib.info, Node: Collections, Next: Dynamic Data Type, Prev: Portable Image Files, Up: Data Structures
-7.1.10 Collections |
------------------- |
+7.1.10 Collections
+------------------
`(require 'collect)'
@@ -12242,7 +12454,7 @@ operations.

File: slib.info, Node: Dynamic Data Type, Next: Hash Tables, Prev: Collections, Up: Data Structures
-7.1.11 Dynamic Data Type |
+7.1.11 Dynamic Data Type
------------------------
`(require 'dynamic)'
@@ -12277,7 +12489,7 @@ File: slib.info, Node: Dynamic Data Type, Next: Hash Tables, Prev: Collection

File: slib.info, Node: Hash Tables, Next: Object, Prev: Dynamic Data Type, Up: Data Structures
-7.1.12 Hash Tables |
+7.1.12 Hash Tables
------------------
`(require 'hash-table)'
@@ -12342,7 +12554,7 @@ should be `eq?', `eqv?', `equal?', `=', `char=?', `char-ci=?',

File: slib.info, Node: Object, Next: Priority Queues, Prev: Hash Tables, Up: Data Structures
-7.1.13 Macroless Object System |
+7.1.13 Macroless Object System
------------------------------
`(require 'object)'
@@ -12351,7 +12563,7 @@ File: slib.info, Node: Object, Next: Priority Queues, Prev: Hash Tables, Up:
(whumeniu@datap.ca). Conceptual Tributes: *Note Yasos::, MacScheme's
%object, CLOS, Lack of R4RS macros.
-7.1.14 Concepts |
+7.1.14 Concepts
---------------
OBJECT
@@ -12381,7 +12593,7 @@ PREDICATE
A object's method asscociated with a generic-predicate. Returns
`#t'.
-7.1.15 Procedures |
+7.1.15 Procedures
-----------------
-- Function: make-object ancestor ...
@@ -12421,7 +12633,7 @@ PREDICATE
GENERIC-METHOD. If no associated method exists an error is
flagged.
-7.1.16 Examples |
+7.1.16 Examples
---------------
(require 'object)
@@ -12480,7 +12692,7 @@ PREDICATE
(imigrate! self)
self)
-7.1.16.1 Inverter Documentation |
+7.1.16.1 Inverter Documentation
...............................
Inheritance:
@@ -12493,7 +12705,7 @@ Inheritance:
<inverter>::invert
<inverter>::inverter?
-7.1.16.2 Number Documention |
+7.1.16.2 Number Documention
...........................
Inheritance
@@ -12504,7 +12716,7 @@ Inheritance
<number>::value
<number>::set-value!
-7.1.16.3 Inverter code |
+7.1.16.3 Inverter code
......................
(require 'object)
@@ -12568,7 +12780,7 @@ Inheritance

File: slib.info, Node: Priority Queues, Next: Queues, Prev: Object, Up: Data Structures
-7.1.17 Priority Queues |
+7.1.17 Priority Queues
----------------------
`(require 'priority-queue)'
@@ -12595,7 +12807,7 @@ Algorithms' by T. Cormen, C. Leiserson, R. Rivest. 1989 MIT Press.

File: slib.info, Node: Queues, Next: Records, Prev: Priority Queues, Up: Data Structures
-7.1.18 Queues |
+7.1.18 Queues
-------------
`(require 'queue)'
@@ -12639,7 +12851,7 @@ rear, and removed from the front (i.e., they are what are often called

File: slib.info, Node: Records, Prev: Queues, Up: Data Structures
-7.1.19 Records |
+7.1.19 Records
--------------
`(require 'record)'
@@ -13385,6 +13597,8 @@ File: slib.info, Node: Sorting, Next: Topological Sort, Prev: Chapter Orderin
`(require 'sort)'
+ [by Richard A. O'Keefe, 1991] |
+ |
Many Scheme systems provide some kind of sorting functions. They do
not, however, always provide the _same_ sorting functions, and those
that I have had the opportunity to test provided inefficient ones (a
@@ -13452,6 +13666,17 @@ converge on a single interface, and this may serve as a hint. The
argument order for all functions has been chosen to be as close to
Common LISP as made sense, in order to avoid NIH-itis.
+ The code of `merge' and `merge!' could have been quite a bit simpler, |
+but they have been coded to reduce the amount of work done per |
+iteration. (For example, we only have one `null?' test per iteration.) |
+ |
+ I gave serious consideration to producing Common-LISP-compatible |
+functions. However, Common LISP's `sort' is our `sort!' (well, in fact |
+Common LISP's `stable-sort' is our `sort!'; merge sort is _fast_ as |
+well as stable!) so adapting CL code to Scheme takes a bit of work |
+anyway. I did, however, appeal to CL to determine the _order_ of the |
+arguments. |
+ |
Each of the five functions has a required _last_ parameter which is a
comparison function. A comparison function `f' is a function of 2
arguments which acts like `<'. For example,
@@ -13464,66 +13689,60 @@ arguments which acts like `<'. For example,
are suitable for use as comparison functions. Think of `(less? x y)'
as saying when `x' must _not_ precede `y'.
+ [Addendum by Aubrey Jaffer, 2006] |
+ |
+ These procedures are stable when called with predicates which return |
+`#f' when applied to identical arguments. These procedures have |
+asymptotic time and space needs no larger than O(N*log(N)), where N is |
+the sum of the lengths of the sequence arguments. |
+ |
+ All five functions take an optional KEY argument corresponding to a |
+CL-style `&key' argument. A LESS? predicate with a KEY argument |
+behaves like: |
+ |
+ (lambda (x y) (LESS? (KEY x) (KEY y))) |
+ |
+ The `!' variants sort in place; `sort!' returns its SEQUENCE argument. |
+ |
-- Function: sorted? sequence less?
+ -- Function: sorted? sequence less? key |
Returns `#t' when the sequence argument is in non-decreasing order
according to LESS? (that is, there is no adjacent pair `... x y
...' for which `(less? y x)').
Returns `#f' when the sequence contains at least one out-of-order
- pair. It is an error if the sequence is not a list, vector, or
- string.
+ pair. It is an error if the sequence is not a list or array |
+ (including vectors and strings). |
-- Function: merge list1 list2 less?
- This merges two lists, producing a completely new list as result.
- I gave serious consideration to producing a Common-LISP-compatible
- version. However, Common LISP's `sort' is our `sort!' (well, in
- fact Common LISP's `stable-sort' is our `sort!', merge sort is
- _fast_ as well as stable!) so adapting CL code to Scheme takes a
- bit of work anyway. I did, however, appeal to CL to determine the
- _order_ of the arguments.
-
- -- Procedure: merge! list1 list2 less?
- Merges two lists, re-using the pairs of LIST1 and LIST2 to build
- the result. If the code is compiled, and LESS? constructs no new
- pairs, no pairs at all will be allocated. The first pair of the
- result will be either the first pair of LIST1 or the first pair of
- LIST2, but you can't predict which.
-
- The code of `merge' and `merge!' could have been quite a bit
- simpler, but they have been coded to reduce the amount of work
- done per iteration. (For example, we only have one `null?' test
- per iteration.)
+ -- Function: merge list1 list2 less? key |
+ Merges two sorted lists, returning a freshly allocated list as its |
+ result. |
+ -- Function: merge! list1 list2 less? |
+ -- Function: merge! list1 list2 less? key |
+ Merges two sorted lists, re-using the pairs of LIST1 and LIST2 to |
+ build the result. If `merge!' is compiled, then no new pairs will |
+ be allocated. The first pair of the result will be either the |
+ first pair of LIST1 or the first pair of LIST2. |
-- Function: sort sequence less?
- Accepts either a list, vector, or string; and returns a new
- sequence which is sorted. The new sequence is the same type as
- the input. Always `(sorted? (sort sequence less?) less?)'. The
- original sequence is not altered in any way. The new sequence
- shares its _elements_ with the old one; no elements are copied.
-
- -- Procedure: sort! sequence less?
- Returns its sorted result in the original boxes. If the original
- sequence is a list, no new storage is allocated at all. If the
- original sequence is a vector or string, the sorted elements are
- put back in the same vector or string.
-
- Some people have been confused about how to use `sort!', thinking
- that it doesn't return a value. It needs to be pointed out that
- (set! slist (sort! slist <))
- is the proper usage, not
- (sort! slist <)
-
- Note that these functions do _not_ accept a CL-style `:key' argument.
-A simple device for obtaining the same expressiveness is to define
-
- (define (keyed less? key)
- (lambda (x y) (less? (key x) (key y))))
- and then, when you would have written
- (sort a-sequence #'my-less :key #'my-key)
- in Common LISP, just write
- (sort! a-sequence (keyed my-less? my-key))
- in Scheme.
+ -- Function: sort sequence less? key |
+ Accepts a list or array (including vectors and strings) for |
+ SEQUENCE; and returns a completely new sequence which is sorted |
+ according to LESS?. The returned sequence is the same type as the |
+ argument SEQUENCE. Given valid arguments, it is always the case |
+ that: |
+
+ (sorted? (sort SEQUENCE LESS?) LESS?) => #t |
+
+ -- Function: sort! sequence less? |
+ -- Function: sort! sequence less? key |
+ Returns SEQUENCE which has been mutated to order its elements |
+ according to LESS?. If the argument SEQUENCE is a list and |
+ `sort!' is compiled, then no new pairs will be allocated. If the |
+ argument SEQUENCE is an array (including vectors and strings), |
+ then the sorted elements are returned in the array SEQUENCE. |

File: slib.info, Node: Topological Sort, Next: Hashing, Prev: Sorting, Up: Sorting and Searching
@@ -13706,7 +13925,7 @@ of Hilbert space-filling curves.
7.2.7.3 Bitwise Lamination
..........................
- |
+
-- Function: delaminate-list count ks
Returns a list of COUNT integers comprised of the Jth bit of the
integers KS where J ranges from COUNT-1 to 0.
@@ -13725,28 +13944,28 @@ File: slib.info, Node: Peano Space-Filling Curve, Next: Sierpinski Curve, Pre
7.2.7.4 Peano Space-Filling Curve
.................................
-`(require 'peano-fill)' |
- |
- -- Function: natural->peano-coordinates scalar rank |
+`(require 'peano-fill)'
+
+ -- Function: natural->peano-coordinates scalar rank
Returns a list of RANK nonnegative integer coordinates
corresponding to exact nonnegative integer SCALAR. The lists
- returned by `natural->peano-coordinates' for SCALAR arguments 0 |
+ returned by `natural->peano-coordinates' for SCALAR arguments 0
and 1 will differ in the first element.
- -- Function: peano-coordinates->natural coords |
+ -- Function: peano-coordinates->natural coords
Returns an exact nonnegative integer corresponding to COORDS, a
list of nonnegative integer coordinates.
- -- Function: integer->peano-coordinates scalar rank |
- Returns a list of RANK integer coordinates corresponding to exact |
- integer SCALAR. The lists returned by |
- `integer->peano-coordinates' for SCALAR arguments 0 and 1 will |
- differ in the first element. |
- |
- -- Function: peano-coordinates->integer coords |
- Returns an exact integer corresponding to COORDS, a list of integer |
- coordinates. |
- |
+ -- Function: integer->peano-coordinates scalar rank
+ Returns a list of RANK integer coordinates corresponding to exact
+ integer SCALAR. The lists returned by
+ `integer->peano-coordinates' for SCALAR arguments 0 and 1 will
+ differ in the first element.
+
+ -- Function: peano-coordinates->integer coords
+ Returns an exact integer corresponding to COORDS, a list of integer
+ coordinates.
+

File: slib.info, Node: Sierpinski Curve, Prev: Peano Space-Filling Curve, Up: Space-Filling Curves
@@ -14134,11 +14353,11 @@ File: slib.info, Node: Line I/O, Next: Multi-Processing, Prev: String Ports,
`system->line' returns a string containing the first line of
output from TMP.
- `system->line' is intended to be a portable method for getting |
- one-line results from programs like `pwd', `whoami', `hostname', |
- `which', `identify', and `cksum'. Its behavior when called with |
- programs which generate lots of output is unspecified. |
- |
+ `system->line' is intended to be a portable method for getting
+ one-line results from programs like `pwd', `whoami', `hostname',
+ `which', `identify', and `cksum'. Its behavior when called with
+ programs which generate lots of output is unspecified.
+

File: slib.info, Node: Multi-Processing, Next: Metric Units, Prev: Line I/O, Up: Procedures
@@ -14742,7 +14961,7 @@ File: slib.info, Node: SRFI, Prev: Values, Up: Standards Support
Implements "Scheme Request For Implementation" (SRFI) as described at
`http://srfi.schemers.org/'
- |
+
-- Macro: cond-expand <clause1> <clause2> ...
_Syntax:_ Each <clause> should be of the form
@@ -14763,27 +14982,29 @@ Implements "Scheme Request For Implementation" (SRFI) as described at
* Menu:
-* SRFI-1:: list-processing |
+* SRFI-1:: list-processing
+
+ * SRFI-2 *Note Guarded LET* special form::
+
+ * SRFI-8 *Note Binding to multiple values::
+
+ * SRFI-9 *Note Define-Record-Type::
+
+ * SRFI-23 `(define error slib:error)' |
- * SRFI-2 *Note Guarded LET* special form:: |
- |
- * SRFI-8 *Note Binding to multiple values:: |
- |
- * SRFI-9 *Note Define-Record-Type:: |
- |
* SRFI-47 *Note Arrays:: |
- |
+
+ * SRFI-63 *Note Arrays::
+
* SRFI-59 *Note Vicinity:: |
|
- * SRFI-63 *Note Arrays:: |
- |
- * SRFI-60 *Note Bit-Twiddling:: |
- |
- * SRFI-61 *Note Guarded COND Clause:: |
+ * SRFI-60 *Note Bit-Twiddling::
+
+ * SRFI-61 *Note Guarded COND Clause::

File: slib.info, Node: SRFI-1, Prev: SRFI, Up: SRFI
- |
+
7.4.13.1 SRFI-1
...............
@@ -15006,7 +15227,7 @@ its list arguments.

File: slib.info, Node: Session Support, Next: System Interface, Prev: Standards Support, Up: Other Packages
- |
+
7.5 Session Support
===================
@@ -15593,10 +15814,12 @@ File: slib.info, Node: About SLIB, Next: Index, Prev: Other Packages, Up: To
More people than I can name have contributed to SLIB. Thanks to all of
you!
- SLIB 3a3, released February 2006. |
+ SLIB 3a4, released October 2006. |
Aubrey Jaffer <agj @ alum.mit.edu>
- Hyperactive Software - The Maniac Inside!
- `http://swiss.csail.mit.edu/~jaffer/SLIB.html'
+ |
+ Current information about SLIB can be found on SLIB's "WWW" home page: |
+ |
+ `http://swiss.csail.mit.edu/~jaffer/SLIB' |
* Menu:
@@ -15976,6 +16199,11 @@ File: slib.info, Node: About this manual, Prev: Copyrights, Up: About SLIB
8.6 About this manual
=====================
+* Menu: |
+ |
+* Copying This Manual:: |
+* How to use this License for your documents:: |
+ |
* Entries that are labeled as Functions are called for their return
values. Entries that are labeled as Procedures are called
primarily for their side effects.
@@ -15988,16 +16216,449 @@ File: slib.info, Node: About this manual, Prev: Copyrights, Up: About SLIB
package.

+File: slib.info, Node: Copying This Manual, Next: How to use this License for your documents, Prev: About this manual, Up: About this manual
+ |
+8.6.1 Copying This Manual |
+------------------------- |
+ |
+ Version 1.2, November 2002 |
+ |
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. |
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA |
+ |
+ Everyone is permitted to copy and distribute verbatim copies |
+ of this license document, but changing it is not allowed. |
+ |
+ 0. PREAMBLE |
+ |
+ The purpose of this License is to make a manual, textbook, or other |
+ functional and useful document "free" in the sense of freedom: to |
+ assure everyone the effective freedom to copy and redistribute it, |
+ with or without modifying it, either commercially or |
+ noncommercially. Secondarily, this License preserves for the |
+ author and publisher a way to get credit for their work, while not |
+ being considered responsible for modifications made by others. |
+ |
+ This License is a kind of "copyleft", which means that derivative |
+ works of the document must themselves be free in the same sense. |
+ It complements the GNU General Public License, which is a copyleft |
+ license designed for free software. |
+ |
+ We have designed this License in order to use it for manuals for |
+ free software, because free software needs free documentation: a |
+ free program should come with manuals providing the same freedoms |
+ that the software does. But this License is not limited to |
+ software manuals; it can be used for any textual work, regardless |
+ of subject matter or whether it is published as a printed book. |
+ We recommend this License principally for works whose purpose is |
+ instruction or reference. |
+ |
+ 1. APPLICABILITY AND DEFINITIONS |
+ |
+ This License applies to any manual or other work, in any medium, |
+ that contains a notice placed by the copyright holder saying it |
+ can be distributed under the terms of this License. Such a notice |
+ grants a world-wide, royalty-free license, unlimited in duration, |
+ to use that work under the conditions stated herein. The |
+ "Document", below, refers to any such manual or work. Any member |
+ of the public is a licensee, and is addressed as "you". You |
+ accept the license if you copy, modify or distribute the work in a |
+ way requiring permission under copyright law. |
+ |
+ A "Modified Version" of the Document means any work containing the |
+ Document or a portion of it, either copied verbatim, or with |
+ modifications and/or translated into another language. |
+ |
+ A "Secondary Section" is a named appendix or a front-matter section |
+ of the Document that deals exclusively with the relationship of the |
+ publishers or authors of the Document to the Document's overall |
+ subject (or to related matters) and contains nothing that could |
+ fall directly within that overall subject. (Thus, if the Document |
+ is in part a textbook of mathematics, a Secondary Section may not |
+ explain any mathematics.) The relationship could be a matter of |
+ historical connection with the subject or with related matters, or |
+ of legal, commercial, philosophical, ethical or political position |
+ regarding them. |
+ |
+ The "Invariant Sections" are certain Secondary Sections whose |
+ titles are designated, as being those of Invariant Sections, in |
+ the notice that says that the Document is released under this |
+ License. If a section does not fit the above definition of |
+ Secondary then it is not allowed to be designated as Invariant. |
+ The Document may contain zero Invariant Sections. If the Document |
+ does not identify any Invariant Sections then there are none. |
+ |
+ The "Cover Texts" are certain short passages of text that are |
+ listed, as Front-Cover Texts or Back-Cover Texts, in the notice |
+ that says that the Document is released under this License. A |
+ Front-Cover Text may be at most 5 words, and a Back-Cover Text may |
+ be at most 25 words. |
+ |
+ A "Transparent" copy of the Document means a machine-readable copy, |
+ represented in a format whose specification is available to the |
+ general public, that is suitable for revising the document |
+ straightforwardly with generic text editors or (for images |
+ composed of pixels) generic paint programs or (for drawings) some |
+ widely available drawing editor, and that is suitable for input to |
+ text formatters or for automatic translation to a variety of |
+ formats suitable for input to text formatters. A copy made in an |
+ otherwise Transparent file format whose markup, or absence of |
+ markup, has been arranged to thwart or discourage subsequent |
+ modification by readers is not Transparent. An image format is |
+ not Transparent if used for any substantial amount of text. A |
+ copy that is not "Transparent" is called "Opaque". |
+ |
+ Examples of suitable formats for Transparent copies include plain |
+ ASCII without markup, Texinfo input format, LaTeX input format, |
+ SGML or XML using a publicly available DTD, and |
+ standard-conforming simple HTML, PostScript or PDF designed for |
+ human modification. Examples of transparent image formats include |
+ PNG, XCF and JPG. Opaque formats include proprietary formats that |
+ can be read and edited only by proprietary word processors, SGML or |
+ XML for which the DTD and/or processing tools are not generally |
+ available, and the machine-generated HTML, PostScript or PDF |
+ produced by some word processors for output purposes only. |
+ |
+ The "Title Page" means, for a printed book, the title page itself, |
+ plus such following pages as are needed to hold, legibly, the |
+ material this License requires to appear in the title page. For |
+ works in formats which do not have any title page as such, "Title |
+ Page" means the text near the most prominent appearance of the |
+ work's title, preceding the beginning of the body of the text. |
+ |
+ A section "Entitled XYZ" means a named subunit of the Document |
+ whose title either is precisely XYZ or contains XYZ in parentheses |
+ following text that translates XYZ in another language. (Here XYZ |
+ stands for a specific section name mentioned below, such as |
+ "Acknowledgements", "Dedications", "Endorsements", or "History".) |
+ To "Preserve the Title" of such a section when you modify the |
+ Document means that it remains a section "Entitled XYZ" according |
+ to this definition. |
+ |
+ The Document may include Warranty Disclaimers next to the notice |
+ which states that this License applies to the Document. These |
+ Warranty Disclaimers are considered to be included by reference in |
+ this License, but only as regards disclaiming warranties: any other |
+ implication that these Warranty Disclaimers may have is void and |
+ has no effect on the meaning of this License. |
+ |
+ 2. VERBATIM COPYING |
+ |
+ You may copy and distribute the Document in any medium, either |
+ commercially or noncommercially, provided that this License, the |
+ copyright notices, and the license notice saying this License |
+ applies to the Document are reproduced in all copies, and that you |
+ add no other conditions whatsoever to those of this License. You |
+ may not use technical measures to obstruct or control the reading |
+ or further copying of the copies you make or distribute. However, |
+ you may accept compensation in exchange for copies. If you |
+ distribute a large enough number of copies you must also follow |
+ the conditions in section 3. |
+ |
+ You may also lend copies, under the same conditions stated above, |
+ and you may publicly display copies. |
+ |
+ 3. COPYING IN QUANTITY |
+ |
+ If you publish printed copies (or copies in media that commonly |
+ have printed covers) of the Document, numbering more than 100, and |
+ the Document's license notice requires Cover Texts, you must |
+ enclose the copies in covers that carry, clearly and legibly, all |
+ these Cover Texts: Front-Cover Texts on the front cover, and |
+ Back-Cover Texts on the back cover. Both covers must also clearly |
+ and legibly identify you as the publisher of these copies. The |
+ front cover must present the full title with all words of the |
+ title equally prominent and visible. You may add other material |
+ on the covers in addition. Copying with changes limited to the |
+ covers, as long as they preserve the title of the Document and |
+ satisfy these conditions, can be treated as verbatim copying in |
+ other respects. |
+ |
+ If the required texts for either cover are too voluminous to fit |
+ legibly, you should put the first ones listed (as many as fit |
+ reasonably) on the actual cover, and continue the rest onto |
+ adjacent pages. |
+ |
+ If you publish or distribute Opaque copies of the Document |
+ numbering more than 100, you must either include a |
+ machine-readable Transparent copy along with each Opaque copy, or |
+ state in or with each Opaque copy a computer-network location from |
+ which the general network-using public has access to download |
+ using public-standard network protocols a complete Transparent |
+ copy of the Document, free of added material. If you use the |
+ latter option, you must take reasonably prudent steps, when you |
+ begin distribution of Opaque copies in quantity, to ensure that |
+ this Transparent copy will remain thus accessible at the stated |
+ location until at least one year after the last time you |
+ distribute an Opaque copy (directly or through your agents or |
+ retailers) of that edition to the public. |
+ |
+ It is requested, but not required, that you contact the authors of |
+ the Document well before redistributing any large number of |
+ copies, to give them a chance to provide you with an updated |
+ version of the Document. |
+ |
+ 4. MODIFICATIONS |
+ |
+ You may copy and distribute a Modified Version of the Document |
+ under the conditions of sections 2 and 3 above, provided that you |
+ release the Modified Version under precisely this License, with |
+ the Modified Version filling the role of the Document, thus |
+ licensing distribution and modification of the Modified Version to |
+ whoever possesses a copy of it. In addition, you must do these |
+ things in the Modified Version: |
+ |
+ A. Use in the Title Page (and on the covers, if any) a title |
+ distinct from that of the Document, and from those of |
+ previous versions (which should, if there were any, be listed |
+ in the History section of the Document). You may use the |
+ same title as a previous version if the original publisher of |
+ that version gives permission. |
+ |
+ B. List on the Title Page, as authors, one or more persons or |
+ entities responsible for authorship of the modifications in |
+ the Modified Version, together with at least five of the |
+ principal authors of the Document (all of its principal |
+ authors, if it has fewer than five), unless they release you |
+ from this requirement. |
+ |
+ C. State on the Title page the name of the publisher of the |
+ Modified Version, as the publisher. |
+ |
+ D. Preserve all the copyright notices of the Document. |
+ |
+ E. Add an appropriate copyright notice for your modifications |
+ adjacent to the other copyright notices. |
+ |
+ F. Include, immediately after the copyright notices, a license |
+ notice giving the public permission to use the Modified |
+ Version under the terms of this License, in the form shown in |
+ the Addendum below. |
+ |
+ G. Preserve in that license notice the full lists of Invariant |
+ Sections and required Cover Texts given in the Document's |
+ license notice. |
+ |
+ H. Include an unaltered copy of this License. |
+ |
+ I. Preserve the section Entitled "History", Preserve its Title, |
+ and add to it an item stating at least the title, year, new |
+ authors, and publisher of the Modified Version as given on |
+ the Title Page. If there is no section Entitled "History" in |
+ the Document, create one stating the title, year, authors, |
+ and publisher of the Document as given on its Title Page, |
+ then add an item describing the Modified Version as stated in |
+ the previous sentence. |
+ |
+ J. Preserve the network location, if any, given in the Document |
+ for public access to a Transparent copy of the Document, and |
+ likewise the network locations given in the Document for |
+ previous versions it was based on. These may be placed in |
+ the "History" section. You may omit a network location for a |
+ work that was published at least four years before the |
+ Document itself, or if the original publisher of the version |
+ it refers to gives permission. |
+ |
+ K. For any section Entitled "Acknowledgements" or "Dedications", |
+ Preserve the Title of the section, and preserve in the |
+ section all the substance and tone of each of the contributor |
+ acknowledgements and/or dedications given therein. |
+ |
+ L. Preserve all the Invariant Sections of the Document, |
+ unaltered in their text and in their titles. Section numbers |
+ or the equivalent are not considered part of the section |
+ titles. |
+ |
+ M. Delete any section Entitled "Endorsements". Such a section |
+ may not be included in the Modified Version. |
+ |
+ N. Do not retitle any existing section to be Entitled |
+ "Endorsements" or to conflict in title with any Invariant |
+ Section. |
+ |
+ O. Preserve any Warranty Disclaimers. |
+ |
+ If the Modified Version includes new front-matter sections or |
+ appendices that qualify as Secondary Sections and contain no |
+ material copied from the Document, you may at your option |
+ designate some or all of these sections as invariant. To do this, |
+ add their titles to the list of Invariant Sections in the Modified |
+ Version's license notice. These titles must be distinct from any |
+ other section titles. |
+ |
+ You may add a section Entitled "Endorsements", provided it contains |
+ nothing but endorsements of your Modified Version by various |
+ parties--for example, statements of peer review or that the text |
+ has been approved by an organization as the authoritative |
+ definition of a standard. |
+ |
+ You may add a passage of up to five words as a Front-Cover Text, |
+ and a passage of up to 25 words as a Back-Cover Text, to the end |
+ of the list of Cover Texts in the Modified Version. Only one |
+ passage of Front-Cover Text and one of Back-Cover Text may be |
+ added by (or through arrangements made by) any one entity. If the |
+ Document already includes a cover text for the same cover, |
+ previously added by you or by arrangement made by the same entity |
+ you are acting on behalf of, you may not add another; but you may |
+ replace the old one, on explicit permission from the previous |
+ publisher that added the old one. |
+ |
+ The author(s) and publisher(s) of the Document do not by this |
+ License give permission to use their names for publicity for or to |
+ assert or imply endorsement of any Modified Version. |
+ |
+ 5. COMBINING DOCUMENTS |
+ |
+ You may combine the Document with other documents released under |
+ this License, under the terms defined in section 4 above for |
+ modified versions, provided that you include in the combination |
+ all of the Invariant Sections of all of the original documents, |
+ unmodified, and list them all as Invariant Sections of your |
+ combined work in its license notice, and that you preserve all |
+ their Warranty Disclaimers. |
+ |
+ The combined work need only contain one copy of this License, and |
+ multiple identical Invariant Sections may be replaced with a single |
+ copy. If there are multiple Invariant Sections with the same name |
+ but different contents, make the title of each such section unique |
+ by adding at the end of it, in parentheses, the name of the |
+ original author or publisher of that section if known, or else a |
+ unique number. Make the same adjustment to the section titles in |
+ the list of Invariant Sections in the license notice of the |
+ combined work. |
+ |
+ In the combination, you must combine any sections Entitled |
+ "History" in the various original documents, forming one section |
+ Entitled "History"; likewise combine any sections Entitled |
+ "Acknowledgements", and any sections Entitled "Dedications". You |
+ must delete all sections Entitled "Endorsements." |
+ |
+ 6. COLLECTIONS OF DOCUMENTS |
+ |
+ You may make a collection consisting of the Document and other |
+ documents released under this License, and replace the individual |
+ copies of this License in the various documents with a single copy |
+ that is included in the collection, provided that you follow the |
+ rules of this License for verbatim copying of each of the |
+ documents in all other respects. |
+ |
+ You may extract a single document from such a collection, and |
+ distribute it individually under this License, provided you insert |
+ a copy of this License into the extracted document, and follow |
+ this License in all other respects regarding verbatim copying of |
+ that document. |
+ |
+ 7. AGGREGATION WITH INDEPENDENT WORKS |
+ |
+ A compilation of the Document or its derivatives with other |
+ separate and independent documents or works, in or on a volume of |
+ a storage or distribution medium, is called an "aggregate" if the |
+ copyright resulting from the compilation is not used to limit the |
+ legal rights of the compilation's users beyond what the individual |
+ works permit. When the Document is included in an aggregate, this |
+ License does not apply to the other works in the aggregate which |
+ are not themselves derivative works of the Document. |
+ |
+ If the Cover Text requirement of section 3 is applicable to these |
+ copies of the Document, then if the Document is less than one half |
+ of the entire aggregate, the Document's Cover Texts may be placed |
+ on covers that bracket the Document within the aggregate, or the |
+ electronic equivalent of covers if the Document is in electronic |
+ form. Otherwise they must appear on printed covers that bracket |
+ the whole aggregate. |
+ |
+ 8. TRANSLATION |
+ |
+ Translation is considered a kind of modification, so you may |
+ distribute translations of the Document under the terms of section |
+ 4. Replacing Invariant Sections with translations requires special |
+ permission from their copyright holders, but you may include |
+ translations of some or all Invariant Sections in addition to the |
+ original versions of these Invariant Sections. You may include a |
+ translation of this License, and all the license notices in the |
+ Document, and any Warranty Disclaimers, provided that you also |
+ include the original English version of this License and the |
+ original versions of those notices and disclaimers. In case of a |
+ disagreement between the translation and the original version of |
+ this License or a notice or disclaimer, the original version will |
+ prevail. |
+ |
+ If a section in the Document is Entitled "Acknowledgements", |
+ "Dedications", or "History", the requirement (section 4) to |
+ Preserve its Title (section 1) will typically require changing the |
+ actual title. |
+ |
+ 9. TERMINATION |
+ |
+ You may not copy, modify, sublicense, or distribute the Document |
+ except as expressly provided for under this License. Any other |
+ attempt to copy, modify, sublicense or distribute the Document is |
+ void, and will automatically terminate your rights under this |
+ License. However, parties who have received copies, or rights, |
+ from you under this License will not have their licenses |
+ terminated so long as such parties remain in full compliance. |
+ |
+ 10. FUTURE REVISIONS OF THIS LICENSE |
+ |
+ The Free Software Foundation may publish new, revised versions of |
+ the GNU Free Documentation License from time to time. Such new |
+ versions will be similar in spirit to the present version, but may |
+ differ in detail to address new problems or concerns. See |
+ `http://www.gnu.org/copyleft/'. |
+ |
+ Each version of the License is given a distinguishing version |
+ number. If the Document specifies that a particular numbered |
+ version of this License "or any later version" applies to it, you |
+ have the option of following the terms and conditions either of |
+ that specified version or of any later version that has been |
+ published (not as a draft) by the Free Software Foundation. If |
+ the Document does not specify a version number of this License, |
+ you may choose any version ever published (not as a draft) by the |
+ Free Software Foundation. |
+ |
+
+File: slib.info, Node: How to use this License for your documents, Prev: Copying This Manual, Up: About this manual
+ |
+8.6.2 How to use this License for your documents |
+------------------------------------------------ |
+ |
+To use this License in a document you have written, include a copy of |
+the License in the document and put the following copyright and license |
+notices just after the title page: |
+ |
+ Copyright (C) YEAR YOUR NAME. |
+ Permission is granted to copy, distribute and/or modify this document |
+ under the terms of the GNU Free Documentation License, Version 1.2 |
+ or any later version published by the Free Software Foundation; |
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover |
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''. |
+ |
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover |
+Texts, replace the "with...Texts." line with this: |
+ |
+ with the Invariant Sections being LIST THEIR TITLES, with |
+ the Front-Cover Texts being LIST, and with the Back-Cover Texts |
+ being LIST. |
+ |
+ If you have Invariant Sections without Cover Texts, or some other |
+combination of the three, merge those two alternatives to suit the |
+situation. |
+ |
+ If your document contains nontrivial examples of program code, we |
+recommend releasing these examples in parallel under your choice of |
+free software license, such as the GNU General Public License, to |
+permit their use in free software. |
+ |
+
File: slib.info, Node: Index, Prev: About SLIB, Up: Top
-
+ |
Index
*****
Procedure and Macro Index
*************************
-
-This is an alphabetical list of all the procedures and macros in SLIB.
-
+ |
* Menu:
@@ -16032,6 +16693,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* a:flor32b: Arrays. (line 173)
* a:flor64b: Arrays. (line 169)
* abort: Session Support. (line 9)
+* abs: Irrational Real Functions. |
+ (line 86) |
* absolute-path?: URI. (line 102)
* absolute-uri?: URI. (line 98)
* add-command-tables: Database Extension. (line 11)
@@ -16054,8 +16717,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* alist-map: Association Lists. (line 48)
* alist-remover: Association Lists. (line 39)
* alist-table: The Base. (line 12)
-* and-let*: Guarded LET* special form. |
- (line 9) |
+* and-let*: Guarded LET* special form.
+ (line 9)
* and?: Non-List functions. (line 7)
* any: SRFI-1. (line 156)
* any-bits-set?: Bit-Twiddling. (line 64)
@@ -16078,12 +16741,14 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* array-rank: Arrays. (line 44)
* array-ref: Arrays. (line 136)
* array-set!: Arrays. (line 139)
-* array-trim: Subarrays. (line 44)
+* array-trim: Subarrays. (line 48) |
* array:copy!: Array Mapping. (line 50)
* array?: Arrays. (line 9)
* asctime: Posix Time. (line 62)
* ash: Bit-Twiddling. (line 181)
* assoc: SRFI-1. (line 175)
+* atan: Irrational Real Functions. |
+ (line 22) |
* atom?: Non-List functions. (line 30)
* batch:call-with-output-script: Batch. (line 47)
* batch:command: Batch. (line 64)
@@ -16098,9 +16763,9 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* bit-count: Bit-Twiddling. (line 74)
* bit-field: Bit-Twiddling. (line 156)
* bit-set?: Bit-Twiddling. (line 135)
-* bitwise-and: Bit-Twiddling. (line 19) |
+* bitwise-and: Bit-Twiddling. (line 19)
* bitwise-if: Bit-Twiddling. (line 56)
-* bitwise-ior: Bit-Twiddling. (line 28) |
+* bitwise-ior: Bit-Twiddling. (line 28)
* bitwise-merge: Bit-Twiddling. (line 57)
* bitwise-not: Bit-Twiddling. (line 46)
* bitwise-xor: Bit-Twiddling. (line 37)
@@ -16120,7 +16785,7 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* byte-set!: Byte. (line 18)
* bytes: Byte. (line 32)
* bytes->ieee-double: Byte/Number Conversions.
- (line 60) |
+ (line 60)
* bytes->ieee-float: Byte/Number Conversions.
(line 41)
* bytes->integer: Byte/Number Conversions.
@@ -16128,8 +16793,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* bytes->list: Byte. (line 36)
* bytes-copy: Byte. (line 47)
* bytes-length: Byte. (line 29)
-* bytes-reverse: Byte. (line 53)
-* bytes-reverse!: Byte. (line 50)
+* bytes-reverse: Byte. (line 63) |
+* bytes-reverse!: Byte. (line 60) |
* call-with-dynamic-binding: Dynamic Data Type. (line 25)
* call-with-input-string: String Ports. (line 15)
* call-with-open-ports: Input/Output. (line 54)
@@ -16224,8 +16889,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* command:modify-table: HTML Tables. (line 87)
* concatenate: SRFI-1. (line 90)
* concatenate!: SRFI-1. (line 91)
-* cond: Guarded COND Clause. (line 11) |
-* cond-expand: SRFI. (line 12) |
+* cond: Guarded COND Clause. (line 11)
+* cond-expand: SRFI. (line 12)
* cons*: SRFI-1. (line 22)
* continue: Breakpoints. (line 20)
* convert-color: Color Data-Type. (line 54)
@@ -16251,10 +16916,10 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* ctime: Posix Time. (line 68)
* current-directory: Directories. (line 9)
* current-error-port: Input/Output. (line 70)
-* current-input-port <1>: Byte. (line 74)
+* current-input-port <1>: Byte. (line 84) |
* current-input-port: Ruleset Definition and Use.
(line 57)
-* current-output-port: Byte. (line 66)
+* current-output-port: Byte. (line 76) |
* current-time: Time and Date. (line 20)
* cvs-directories: CVS. (line 14)
* cvs-files: CVS. (line 9)
@@ -16274,7 +16939,7 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* define-macro: Within-database. (line 58)
* define-operation: Yasos interface. (line 7)
* define-predicate: Yasos interface. (line 12)
-* define-record-type: Define-Record-Type. (line 12) |
+* define-record-type: Define-Record-Type. (line 12)
* define-structure: Define-Structure. (line 12)
* define-syntax: Macro by Example. (line 39)
* define-table: Within-database. (line 26)
@@ -16285,7 +16950,7 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* defmacro:load: Defmacro. (line 19)
* defmacro?: Defmacro. (line 27)
* delaminate-list: Hilbert Space-Filling Curve.
- (line 89) |
+ (line 89)
* delay: Promises. (line 15)
* delete: Destructive list operations.
(line 58)
@@ -16305,6 +16970,10 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* dequeue!: Queues. (line 28)
* dequeue-all!: Queues. (line 36)
* determinant: Matrix Algebra. (line 18)
+* dft: Discrete Fourier Transform. |
+ (line 44) |
+* dft-1: Discrete Fourier Transform. |
+ (line 49) |
* diff:edit-length: Sequence Comparison. (line 64)
* diff:edits: Sequence Comparison. (line 45)
* diff:longest-common-subsequence: Sequence Comparison. (line 32)
@@ -16338,17 +17007,17 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* exports<-info-index: Top-level Variable References.
(line 35)
* expt: Miscellany. (line 20)
-* extended-euclid: Modular Arithmetic. (line 28)
+* extended-euclid: Modular Arithmetic. (line 9) |
* factor: Prime Numbers. (line 41)
* feature->export-alist: Module Manifests. (line 100)
* feature->exports: Module Manifests. (line 105)
* feature->requires: Module Manifests. (line 29)
* feature->requires*: Module Manifests. (line 45)
* feature-eval: Feature. (line 52)
-* fft: Fast Fourier Transform.
- (line 9)
-* fft-1: Fast Fourier Transform.
- (line 14)
+* fft: Discrete Fourier Transform. |
+ (line 27) |
+* fft-1: Discrete Fourier Transform. |
+ (line 34) |
* fifth: SRFI-1. (line 61)
* file->color-dictionary: Color Names. (line 68)
* file->definitions: Module Manifests. (line 72)
@@ -16491,17 +17160,17 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* identifier?: Syntactic Closures. (line 334)
* identity: Miscellany. (line 9)
* ieee-byte-collate: Byte/Number Conversions.
- (line 151) |
+ (line 151)
* ieee-byte-collate!: Byte/Number Conversions.
- (line 142) |
+ (line 142)
* ieee-byte-decollate: Byte/Number Conversions.
- (line 155) |
+ (line 155)
* ieee-byte-decollate!: Byte/Number Conversions.
- (line 147) |
+ (line 147)
* ieee-double->bytes: Byte/Number Conversions.
- (line 97) |
+ (line 97)
* ieee-float->bytes: Byte/Number Conversions.
- (line 79) |
+ (line 79)
* illuminant-map: Spectra. (line 77)
* illuminant-map->XYZ: Spectra. (line 82)
* implementation-vicinity: Vicinity. (line 42)
@@ -16516,15 +17185,21 @@ This is an alphabetical list of all the procedures and macros in SLIB.
(line 30)
* integer->list: Bit-Twiddling. (line 215)
* integer->peano-coordinates: Peano Space-Filling Curve.
- (line 19) |
+ (line 19)
* integer-byte-collate: Byte/Number Conversions.
- (line 136) |
+ (line 136)
* integer-byte-collate!: Byte/Number Conversions.
- (line 130) |
+ (line 130)
+* integer-expt: Irrational Integer Functions. |
+ (line 9) |
* integer-length: Bit-Twiddling. (line 88)
-* integer-sqrt: Root Finding. (line 9) |
+* integer-log: Irrational Integer Functions. |
+ (line 18) |
+* integer-sqrt <1>: Root Finding. (line 9) |
+* integer-sqrt: Irrational Integer Functions. |
+ (line 23) |
* interaction-environment: Eval. (line 51)
-* interpolate-array-ref: Array Interpolation. (line 9) |
+* interpolate-array-ref: Array Interpolation. (line 9)
* interpolate-from-table: Database Interpolation.
(line 13)
* intersection: Lists as sets. (line 32)
@@ -16559,7 +17234,7 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* light:directional: Solid Modeling. (line 122)
* light:point: Solid Modeling. (line 158)
* light:spot: Solid Modeling. (line 176)
-* limit: The Limit. (line 7) |
+* limit: The Limit. (line 7)
* list*: List construction. (line 18)
* list->array: Arrays. (line 88)
* list->bytes: Byte. (line 40)
@@ -16572,6 +17247,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* list-tail: Rev4 Optional Procedures.
(line 12)
* list=: SRFI-1. (line 48)
+* ln: Irrational Real Functions. |
+ (line 77) |
* load->path: Module Manifests. (line 63)
* load-ciexyz: Spectra. (line 37)
* load-color-dictionary: Color Names. (line 52)
@@ -16640,6 +17317,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
(line 17)
* make-object: Object. (line 46)
* make-parameter-list: Parameter lists. (line 23)
+* make-polar: Irrational Real Functions. |
+ (line 94) |
* make-predicate!: Object. (line 72)
* make-prever on base-table: Base ISAM Operations.
(line 25)
@@ -16651,6 +17330,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* make-random-state: Exact Random Numbers.
(line 44)
* make-record-type: Records. (line 12)
+* make-rectangular: Irrational Real Functions. |
+ (line 93) |
* make-relational-system: Relational Database Objects.
(line 11)
* make-ruleset: Commutative Rings. (line 82)
@@ -16679,29 +17360,30 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* mdbm:report: Using Databases. (line 94)
* member: SRFI-1. (line 160)
* member-if: Lists as sets. (line 62)
-* merge: Sorting. (line 97)
-* merge!: Sorting. (line 106)
+* merge: Sorting. (line 126) |
+* merge!: Sorting. (line 131) |
* mktime: Posix Time. (line 54)
-* mod: Modular Arithmetic. (line 9)
-* modular:*: Modular Arithmetic. (line 77)
-* modular:+: Modular Arithmetic. (line 71)
-* modular:-: Modular Arithmetic. (line 74)
-* modular:expt: Modular Arithmetic. (line 83)
-* modular:invert: Modular Arithmetic. (line 64)
-* modular:invertable?: Modular Arithmetic. (line 60)
-* modular:negate: Modular Arithmetic. (line 68)
-* modular:normalize: Modular Arithmetic. (line 39)
-* modulus->integer: Modular Arithmetic. (line 35)
+* mod: Irrational Real Functions. |
+ (line 52) |
+* modular:*: Modular Arithmetic. (line 61) |
+* modular:+: Modular Arithmetic. (line 55) |
+* modular:-: Modular Arithmetic. (line 58) |
+* modular:characteristic: Modular Arithmetic. (line 19) |
+* modular:expt: Modular Arithmetic. (line 67) |
+* modular:invert: Modular Arithmetic. (line 48) |
+* modular:invertable?: Modular Arithmetic. (line 44) |
+* modular:negate: Modular Arithmetic. (line 52) |
+* modular:normalize: Modular Arithmetic. (line 23) |
* mrna<-cdna: NCBI-DNA. (line 15)
* must-be-first: Batch. (line 128)
* must-be-last: Batch. (line 133)
-* natural->peano-coordinates: Peano Space-Filling Curve. |
- (line 9) |
+* natural->peano-coordinates: Peano Space-Filling Curve.
+ (line 9)
* ncbi:read-dna-sequence: NCBI-DNA. (line 7)
* ncbi:read-file: NCBI-DNA. (line 11)
* nconc: Destructive list operations.
(line 10)
-* newton:find-integer-root: Root Finding. (line 13) |
+* newton:find-integer-root: Root Finding. (line 13)
* newton:find-root: Root Finding. (line 30)
* ninth: SRFI-1. (line 65)
* not-pair?: SRFI-1. (line 46)
@@ -16726,7 +17408,7 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* open-database on relational-system: Relational Database Objects.
(line 45)
* open-database!: Using Databases. (line 68)
-* open-file <1>: Byte. (line 57)
+* open-file <1>: Byte. (line 67) |
* open-file: Input/Output. (line 18)
* open-table: Using Databases. (line 107)
* open-table on base-table: Base Tables. (line 16)
@@ -16756,9 +17438,9 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* path->uri: URI. (line 95)
* pathname->vicinity: Vicinity. (line 25)
* peano-coordinates->integer: Peano Space-Filling Curve.
- (line 25) |
-* peano-coordinates->natural: Peano Space-Filling Curve. |
- (line 15) |
+ (line 25)
+* peano-coordinates->natural: Peano Space-Filling Curve.
+ (line 15)
* plot <1>: Legacy Plotting. (line 11)
* plot: Character Plotting. (line 17)
* plot-column: Drawing the Graph. (line 7)
@@ -16832,6 +17514,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* queue-push!: Queues. (line 22)
* queue-rear: Queues. (line 42)
* queue?: Queues. (line 16)
+* quo: Irrational Real Functions. |
+ (line 50) |
* random: Exact Random Numbers.
(line 9)
* random:exp: Inexact Random Numbers.
@@ -16847,16 +17531,38 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* random:uniform: Inexact Random Numbers.
(line 9)
* rationalize: Rationalize. (line 9)
-* read-byte: Byte. (line 69)
-* read-bytes: Byte. (line 87)
+* read-byte: Byte. (line 79) |
+* read-bytes: Byte. (line 97) |
* read-cie-illuminant: Spectra. (line 43)
* read-command: Command Line. (line 9)
* read-line: Line I/O. (line 9)
* read-line!: Line I/O. (line 18)
* read-normalized-illuminant: Spectra. (line 54)
* read-options-file: Command Line. (line 65)
-* receive: Binding to multiple values. |
- (line 9) |
+* real-acos: Irrational Real Functions. |
+ (line 20) |
+* real-asin: Irrational Real Functions. |
+ (line 19) |
+* real-atan: Irrational Real Functions. |
+ (line 21) |
+* real-cos: Irrational Real Functions. |
+ (line 17) |
+* real-exp: Irrational Real Functions. |
+ (line 13) |
+* real-expt: Irrational Real Functions. |
+ (line 37) |
+* real-ln: Irrational Real Functions. |
+ (line 14) |
+* real-log: Irrational Real Functions. |
+ (line 15) |
+* real-sin: Irrational Real Functions. |
+ (line 16) |
+* real-sqrt: Irrational Real Functions. |
+ (line 32) |
+* real-tan: Irrational Real Functions. |
+ (line 18) |
+* receive: Binding to multiple values.
+ (line 9)
* record-accessor: Records. (line 41)
* record-constructor: Records. (line 22)
* record-modifier: Records. (line 50)
@@ -16866,7 +17572,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* reduce: Collections. (line 71)
* reduce-init: Lists as sequences. (line 61)
* reduce-right: SRFI-1. (line 120)
-* rem: Modular Arithmetic. (line 10)
+* rem: Irrational Real Functions. |
+ (line 51) |
* remove <1>: SRFI-1. (line 135)
* remove: Lists as sets. (line 153)
* remove!: SRFI-1. (line 139)
@@ -16881,7 +17588,7 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* require <1>: Catalog Creation. (line 48)
* require: Require. (line 25)
* require-if: Require. (line 40)
-* resample-array!: Array Interpolation. (line 19) |
+* resample-array!: Array Interpolation. (line 19)
* resene: Color Names. (line 129)
* restrict-table on relational-database: Database Operations. (line 77)
* reverse!: SRFI-1. (line 93)
@@ -16943,6 +17650,10 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* setter: Setters. (line 22)
* setup-plot: Column Ranges. (line 22)
* seventh: SRFI-1. (line 63)
+* sft: Discrete Fourier Transform. |
+ (line 15) |
+* sft-1: Discrete Fourier Transform. |
+ (line 21) |
* si:conversion-factor: Metric Units. (line 160)
* singleton-wt-tree: Construction of Weight-Balanced Trees.
(line 58)
@@ -16966,33 +17677,35 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* solar-declination: Daylight. (line 21)
* solar-hour: Daylight. (line 14)
* solar-polar: Daylight. (line 23)
-* solid:arrow: Solid Modeling. (line 399)
-* solid:basrelief: Solid Modeling. (line 271)
+* solid:arrow: Solid Modeling. (line 413) |
+* solid:basrelief: Solid Modeling. (line 285) |
* solid:box: Solid Modeling. (line 206)
-* solid:center-array-of: Solid Modeling. (line 390)
-* solid:center-pile-of: Solid Modeling. (line 395)
-* solid:center-row-of: Solid Modeling. (line 386)
-* solid:color: Solid Modeling. (line 313)
-* solid:cone: Solid Modeling. (line 230)
-* solid:cylinder: Solid Modeling. (line 215)
-* solid:disk: Solid Modeling. (line 223)
-* solid:ellipsoid: Solid Modeling. (line 248)
-* solid:font: Solid Modeling. (line 351)
-* solid:polyline: Solid Modeling. (line 257)
-* solid:pyramid: Solid Modeling. (line 236)
-* solid:rotation: Solid Modeling. (line 418)
-* solid:scale: Solid Modeling. (line 414)
-* solid:sphere: Solid Modeling. (line 242)
-* solid:text: Solid Modeling. (line 294)
-* solid:texture: Solid Modeling. (line 330)
-* solid:translation: Solid Modeling. (line 409)
+* solid:center-array-of: Solid Modeling. (line 404) |
+* solid:center-pile-of: Solid Modeling. (line 409) |
+* solid:center-row-of: Solid Modeling. (line 400) |
+* solid:color: Solid Modeling. (line 327) |
+* solid:cone: Solid Modeling. (line 235) |
+* solid:cylinder: Solid Modeling. (line 220) |
+* solid:disk: Solid Modeling. (line 228) |
+* solid:ellipsoid: Solid Modeling. (line 253) |
+* solid:font: Solid Modeling. (line 365) |
+* solid:lumber: Solid Modeling. (line 215) |
+* solid:polyline: Solid Modeling. (line 262) |
+* solid:prism: Solid Modeling. (line 276) |
+* solid:pyramid: Solid Modeling. (line 241) |
+* solid:rotation: Solid Modeling. (line 432) |
+* solid:scale: Solid Modeling. (line 428) |
+* solid:sphere: Solid Modeling. (line 247) |
+* solid:text: Solid Modeling. (line 308) |
+* solid:texture: Solid Modeling. (line 344) |
+* solid:translation: Solid Modeling. (line 423) |
* solidify-database: Using Databases. (line 86)
* solidify-database on relational-database: Database Operations.
(line 42)
* some: Lists as sets. (line 73)
-* sort: Sorting. (line 119)
-* sort!: Sorting. (line 126)
-* sorted?: Sorting. (line 88)
+* sort: Sorting. (line 138) |
+* sort!: Sorting. (line 148) |
+* sorted?: Sorting. (line 116) |
* soundex: Soundex. (line 9)
* span: SRFI-1. (line 148)
* span!: SRFI-1. (line 150)
@@ -17033,15 +17746,16 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* StudlyCapsExpand: String-Case. (line 29)
* sub-vicinity: Vicinity. (line 73)
* subarray: Subarrays. (line 9)
+* subbytes: Byte. (line 50) |
+* subbytes-read!: Byte. (line 122) |
+* subbytes-write: Byte. (line 131) |
* subset?: Lists as sets. (line 52)
* subst: Tree Operations. (line 11)
* substq: Tree Operations. (line 12)
* substring-ci?: String Search. (line 20)
* substring-fill!: Rev2 Procedures. (line 30)
* substring-move-left!: Rev2 Procedures. (line 13)
-* substring-move-right!: Rev2 Procedures. (line 14)
-* substring-read!: Byte. (line 112)
-* substring-write: Byte. (line 121)
+* substring-move-right!: Rev2 Procedures. (line 14) |
* substring?: String Search. (line 19)
* substv: Tree Operations. (line 13)
* sunlight-chromaticity: Daylight. (line 65)
@@ -17049,7 +17763,7 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* supported-key-type? on base-table: Base Field Types. (line 13)
* supported-type? on base-table: Base Field Types. (line 7)
* symbol-append: String-Case. (line 23)
-* symmetric:modulus: Modular Arithmetic. (line 32)
+* symmetric:modulus: Modular Arithmetic. (line 13) |
* sync-base on base-table: The Base. (line 53)
* sync-database: Using Databases. (line 82)
* sync-database on relational-database: Database Operations. (line 37)
@@ -17149,8 +17863,8 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* world:info: Solid Modeling. (line 24)
* wrap-command-interface: Database Extension. (line 7)
* write-base on base-table: The Base. (line 43)
-* write-byte: Byte. (line 62)
-* write-bytes: Byte. (line 98)
+* write-byte: Byte. (line 72) |
+* write-bytes: Byte. (line 108) |
* write-database: Using Databases. (line 79)
* write-database on relational-database: Database Operations. (line 26)
* write-line: Line I/O. (line 29)
@@ -17207,7 +17921,7 @@ This is an alphabetical list of all the procedures and macros in SLIB.
* wt-tree/union: Advanced Operations on Weight-Balanced Trees.
(line 25)
* x-axis: Legending. (line 51)
-* x1: Legacy Plotting. (line 18) |
+* x1: Legacy Plotting. (line 18)
* xcons: SRFI-1. (line 15)
* xRGB->CIEXYZ: Color Conversions. (line 51)
* xrgb->color: Color Spaces. (line 215)
@@ -17222,9 +17936,7 @@ This is an alphabetical list of all the procedures and macros in SLIB.
Variable Index
**************
-
-This is an alphabetical list of all the global variables in SLIB.
-
+ |
* Menu:
@@ -17270,6 +17982,8 @@ This is an alphabetical list of all the global variables in SLIB.
* graph:dimensions: Legacy Plotting. (line 7)
* graphrect: Rectangles. (line 26)
* leftedge: Legending. (line 22)
+* modulo: Irrational Integer Functions. |
+ (line 29) |
* most-positive-fixnum: Configuration. (line 15)
* nil: Miscellany. (line 70)
* number-wt-type: Construction of Weight-Balanced Trees.
@@ -17277,6 +17991,10 @@ This is an alphabetical list of all the global variables in SLIB.
* plotrect: Rectangles. (line 22)
* prime:prngs: Prime Numbers. (line 9)
* prime:trials: Prime Numbers. (line 24)
+* quotient: Irrational Integer Functions. |
+ (line 27) |
+* remainder: Irrational Integer Functions. |
+ (line 28) |
* rightedge: Legending. (line 23)
* slib:form-feed: Configuration. (line 29)
* slib:tab: Configuration. (line 26)
@@ -17287,8 +18005,7 @@ This is an alphabetical list of all the global variables in SLIB.
* stdout: Standard Formatted I/O.
(line 22)
* string-wt-type: Construction of Weight-Balanced Trees.
- (line 45)
-* subarray0: Subarrays. (line 41)
+ (line 45) |
* t: Miscellany. (line 67)
* tok:decimal-digits: Token definition. (line 41)
* tok:lower-case: Token definition. (line 48)
@@ -17304,7 +18021,7 @@ Concept and Feature Index
* Menu:
-* =>: Guarded COND Clause. (line 21) |
+* =>: Guarded COND Clause. (line 21)
* aggregate <1>: Module Semantics. (line 20)
* aggregate: Library Catalogs. (line 24)
* alarm: Multi-Processing. (line 10)
@@ -17314,10 +18031,10 @@ Concept and Feature Index
(line 23)
* alist-table <2>: The Base. (line 12)
* alist-table: Base Table. (line 16)
-* and-let*: Guarded LET* special form. |
- (line 6) |
+* and-let*: Guarded LET* special form.
+ (line 6)
* ange-ftp: URI. (line 118)
-* appearance: Solid Modeling. (line 320)
+* appearance: Solid Modeling. (line 334) |
* array: Arrays. (line 6)
* array-for-each: Array Mapping. (line 6)
* association function: Association Lists. (line 17)
@@ -17328,7 +18045,8 @@ Concept and Feature Index
* base: URI. (line 39)
* base-table: Base Table. (line 6)
* batch: Batch. (line 6)
-* binary: Byte. (line 56)
+* bignum: Feature. (line 13) |
+* binary: Byte. (line 66) |
* binary trees: Weight-Balanced Trees.
(line 8)
* binary trees, as discrete maps: Weight-Balanced Trees.
@@ -17371,6 +18089,7 @@ Concept and Feature Index
* commutative-ring: Commutative Rings. (line 11)
* compiled: Library Catalogs. (line 21)
* compiling: Module Conventions. (line 11)
+* complex: Feature. (line 13) |
* Coordinated Universal Time: Posix Time. (line 13)
* copyright: Copyrights. (line 6)
* crc: Cyclic Checksum. (line 6)
@@ -17385,17 +18104,19 @@ Concept and Feature Index
* db->html: HTML Tables. (line 6)
* debug <1>: Breakpoints. (line 11)
* debug: Debug. (line 6)
-* define-record-type: Define-Record-Type. (line 6) |
+* define-record-type: Define-Record-Type. (line 6)
* defmacro: Library Catalogs. (line 31)
* defmacroexpand <1>: Pretty-Print. (line 88)
* defmacroexpand: Defmacro. (line 48)
* delim: Rule Types. (line 47)
* dequeues: Queues. (line 10)
* determinant: Matrix Algebra. (line 6)
+* dft, Fourier-transform: Discrete Fourier Transform. |
+ (line 6) |
* diff: Sequence Comparison. (line 6)
* directory: Directories. (line 6)
-* Discrete Fourier Transform: Fast Fourier Transform.
- (line 11)
+* Discrete Fourier Transform: Discrete Fourier Transform. |
+ (line 18) |
* discrete maps, using binary trees: Weight-Balanced Trees.
(line 52)
* DrScheme: Installation. (line 103)
@@ -17410,11 +18131,10 @@ Concept and Feature Index
* eval: Eval. (line 6)
* exchanger: Miscellany. (line 31)
* factor: Prime Numbers. (line 6)
-* feature <1>: About this manual. (line 13)
+* FDL, GNU Free Documentation License: Copying This Manual. (line 6) |
+* feature <1>: About this manual. (line 18) |
* feature <2>: Require. (line 18)
-* feature: Feature. (line 6)
-* fft: Fast Fourier Transform.
- (line 6)
+* feature: Feature. (line 6) |
* File Transfer Protocol: URI. (line 113)
* file-lock: Transactions. (line 32)
* filename: Filenames. (line 6)
@@ -17434,7 +18154,7 @@ Concept and Feature Index
* glob: Filenames. (line 6)
* Gray code: Hilbert Space-Filling Curve.
(line 52)
-* guarded-cond-clause: Guarded COND Clause. (line 6) |
+* guarded-cond-clause: Guarded COND Clause. (line 6)
* Guile: Installation. (line 119)
* hash: Hashing. (line 6)
* hash-table: Hash Tables. (line 6)
@@ -17454,7 +18174,8 @@ Concept and Feature Index
* ICC Profile: Color Spaces. (line 191)
* implcat: Catalog Vicinities. (line 23)
* indexed-sequential-access-method: Byte/Number Conversions.
- (line 127) |
+ (line 127)
+* inexact: Feature. (line 13) |
* infix: Rule Types. (line 19)
* Info: Top-level Variable References.
(line 32)
@@ -17493,6 +18214,10 @@ Concept and Feature Index
* match-keys: Match-Keys. (line 6)
* matchfix: Rule Types. (line 39)
* matfile: MAT-File Format. (line 6)
+* math-integer: Irrational Integer Functions. |
+ (line 6) |
+* math-real: Irrational Real Functions. |
+ (line 6) |
* matlab: MAT-File Format. (line 6)
* metric-units: Metric Units. (line 6)
* minimize: Minimizing. (line 6)
@@ -17527,8 +18252,8 @@ Concept and Feature Index
(line 22)
* pbm-raw: Portable Image Files.
(line 22)
-* peano-fill: Peano Space-Filling Curve. |
- (line 6) |
+* peano-fill: Peano Space-Filling Curve.
+ (line 6)
* pgm: Portable Image Files.
(line 26)
* pgm-raw: Portable Image Files.
@@ -17576,10 +18301,12 @@ Concept and Feature Index
* random-inexact: Inexact Random Numbers.
(line 6)
* range: Column Ranges. (line 6)
+* rational: Feature. (line 13) |
* rationalize: Rationalize. (line 6)
* read-command: Command Line. (line 6)
-* receive: Binding to multiple values. |
- (line 6) |
+* real: Feature. (line 13) |
+* receive: Binding to multiple values.
+ (line 6)
* record: Records. (line 6)
* rectangle: Rectangles. (line 6)
* relational-database: Relational Database. (line 6)
@@ -17635,12 +18362,22 @@ Concept and Feature Index
* srfi: SRFI. (line 6)
* SRFI-1: SRFI-1. (line 8)
* srfi-1: SRFI-1. (line 6)
-* srfi-2: Guarded LET* special form. |
- (line 6) |
-* srfi-61: Guarded COND Clause. (line 6) |
-* srfi-8: Binding to multiple values. |
- (line 6) |
-* srfi-9: Define-Record-Type. (line 6) |
+* srfi-2 <1>: SRFI. (line 33) |
+* srfi-2: Guarded LET* special form.
+ (line 6)
+* srfi-23: SRFI. (line 37) |
+* srfi-47: SRFI. (line 39) |
+* srfi-59: SRFI. (line 43) |
+* srfi-60 <1>: SRFI. (line 45) |
+* srfi-60: Bit-Twiddling. (line 6) |
+* srfi-61 <1>: SRFI. (line 47) |
+* srfi-61: Guarded COND Clause. (line 6)
+* srfi-63: SRFI. (line 41) |
+* srfi-8 <1>: SRFI. (line 33) |
+* srfi-8: Binding to multiple values.
+ (line 6)
+* srfi-9 <1>: SRFI. (line 35) |
+* srfi-9: Define-Record-Type. (line 6)
* sRGB: Color Spaces. (line 189)
* stdio: Standard Formatted I/O.
(line 14)
@@ -17650,7 +18387,7 @@ Concept and Feature Index
* subarray: Subarrays. (line 6)
* sun: Daylight. (line 6)
* sunlight: Daylight. (line 6)
-* symmetric: Modular Arithmetic. (line 54)
+* symmetric: Modular Arithmetic. (line 38) |
* syntactic-closures <1>: Syntactic Closures. (line 6)
* syntactic-closures: Library Catalogs. (line 46)
* syntax tree: Precedence Parsing Overview.
@@ -17706,238 +18443,242 @@ Concept and Feature Index

Tag Table:
-Node: Top1038
-Node: The Library System1818
-Node: Feature2115
-Ref: Feature-Footnote-14358
-Node: Require4694
-Node: Library Catalogs7107
-Node: Catalog Creation8538
-Node: Catalog Vicinities10959
-Node: Compiling Scheme13719
-Node: Module Conventions14369
-Ref: Module Conventions-Footnote-115790
-Node: Module Manifests16040
-Node: Module Semantics21512
-Node: Top-level Variable References23130
-Ref: Top-level Variable References-Footnote-125205
-Node: Module Analysis25530
-Node: Universal SLIB Procedures26635
-Node: Vicinity27250
-Node: Configuration31105
-Node: Input/Output34071
-Node: System37476
-Node: Miscellany40627
-Node: Scheme Syntax Extension Packages42714
-Node: Defmacro43747
-Node: R4RS Macros45723
-Node: Macro by Example46987
-Node: Macros That Work49885
-Node: Syntactic Closures55879
-Node: Syntax-Case Macros73407
-Node: Define-Structure77338
-Node: Define-Record-Type79393
-Node: Fluid-Let80880
-Node: Binding to multiple values81995
-Node: Guarded LET* special form82859
-Node: Guarded COND Clause83733
-Node: Yasos87706
-Node: Yasos terms88735
-Node: Yasos interface89907
-Node: Setters92129
-Node: Yasos examples94918
-Node: Textual Conversion Packages98004
-Node: Precedence Parsing98805
-Node: Precedence Parsing Overview99490
-Ref: Precedence Parsing Overview-Footnote-195777
-Node: Rule Types101126
-Node: Ruleset Definition and Use102581
-Node: Token definition104965
-Node: Nud and Led Definition107573
-Node: Grammar Rule Definition110034
-Node: Format117630
-Node: Format Interface117885
-Node: Format Specification119635
-Node: Standard Formatted I/O130580
-Node: Standard Formatted Output131168
-Node: Standard Formatted Input140626
-Node: Programs and Arguments147303
-Node: Getopt147811
-Node: Command Line154358
-Node: Parameter lists157556
-Node: Getopt Parameter lists161462
-Node: Filenames164703
-Node: Batch168613
-Node: HTML176437
-Node: HTML Tables182879
-Node: HTTP and CGI189411
-Node: Parsing HTML193960
-Node: URI196467
-Node: Printing Scheme201139
-Node: Generic-Write201458
-Node: Object-To-String202874
-Node: Pretty-Print203293
-Node: Time and Date206278
-Node: Time Zone207335
-Node: Posix Time212077
-Node: Common-Lisp Time214245
-Node: Time Infrastructure215871
-Node: NCBI-DNA216222
-Node: Schmooz217570
-Node: Mathematical Packages221806
-Node: Bit-Twiddling222539
-Node: Modular Arithmetic230610
-Node: Prime Numbers233491
-Node: Random Numbers235188
-Node: Exact Random Numbers236026
-Node: Inexact Random Numbers238298
-Node: Fast Fourier Transform240132
-Node: Cyclic Checksum241044
-Node: Graphing248670
-Node: Character Plotting248865
-Node: PostScript Graphing254377
-Node: Column Ranges256156
-Node: Drawing the Graph257635
-Node: Graphics Context258730
-Node: Rectangles260549
-Node: Legending261996
-Node: Legacy Plotting264225
-Node: Example Graph265438
-Node: Solid Modeling269805
-Node: Color288722
-Node: Color Data-Type289556
-Ref: Color Data-Type-Footnote-1288023
-Node: Color Spaces293941
-Ref: Color Spaces-Footnote-1298022
-Node: Spectra303858
-Node: Color Difference Metrics312621
-Node: Color Conversions315301
-Node: Color Names317443
-Node: Daylight324377
-Node: Root Finding329064
-Node: Minimizing333343
-Ref: Minimizing-Footnote-1329543
-Node: The Limit335464
-Node: Commutative Rings343411
-Node: Matrix Algebra355056
-Node: Database Packages356262
-Node: Relational Database356545
-Node: Using Databases357412
-Node: Table Operations363918
-Node: Single Row Operations365129
-Node: Match-Keys367372
-Node: Multi-Row Operations369451
-Node: Indexed Sequential Access Methods371842
-Node: Sequential Index Operations372850
-Node: Table Administration375206
-Node: Database Interpolation376073
-Node: Embedded Commands377175
-Node: Database Extension378749
-Node: Command Intrinsics380874
-Node: Define-tables Example382436
-Node: The *commands* Table384086
-Node: Command Service386364
-Node: Command Example388326
-Node: Database Macros392879
-Node: Within-database393764
-Node: Within-database Example396671
-Node: Database Browser398458
-Node: Relational Infrastructure399534
-Node: Base Table399838
-Node: The Base402346
-Node: Base Tables405464
-Node: Base Field Types406940
-Node: Composite Keys407723
-Node: Base Record Operations409777
-Node: Match Keys411505
-Node: Aggregate Base Operations412386
-Node: Base ISAM Operations413451
-Node: Catalog Representation414769
-Node: Relational Database Objects417438
-Node: Database Operations420082
-Node: Weight-Balanced Trees423791
-Node: Construction of Weight-Balanced Trees427677
-Node: Basic Operations on Weight-Balanced Trees431143
-Node: Advanced Operations on Weight-Balanced Trees434010
-Node: Indexing Operations on Weight-Balanced Trees440051
-Node: Other Packages443892
-Node: Data Structures444421
-Node: Arrays445291
-Node: Subarrays453978
-Node: Array Mapping456083
-Node: Array Interpolation458572
-Node: Association Lists461008
-Node: Byte463419
-Node: Byte/Number Conversions468737
-Node: MAT-File Format476441
-Node: Portable Image Files477778
-Node: Collections479461
-Node: Dynamic Data Type485715
-Node: Hash Tables487049
-Node: Object489698
-Node: Priority Queues498377
-Node: Queues499289
-Node: Records500600
-Node: Sorting and Searching504175
-Node: Common List Functions504868
-Node: List construction505325
-Node: Lists as sets507040
-Node: Lists as sequences513578
-Node: Destructive list operations518805
-Node: Non-List functions521483
-Node: Tree Operations522572
-Node: Chapter Ordering524265
-Node: Sorting525912
-Node: Topological Sort531753
-Node: Hashing533461
-Node: Space-Filling Curves534478
-Node: Hilbert Space-Filling Curve534782
-Node: Peano Space-Filling Curve538751
-Node: Sierpinski Curve540450
-Node: Soundex542914
-Node: String Search544512
-Node: Sequence Comparison547085
-Node: Procedures550215
-Node: Type Coercion550743
-Node: String-Case551175
-Node: String Ports553002
-Node: Line I/O553774
-Node: Multi-Processing555954
-Node: Metric Units557072
-Node: Standards Support565351
-Node: RnRS566147
-Node: With-File567370
-Node: Transcripts567646
-Node: Rev2 Procedures567980
-Node: Rev4 Optional Procedures569713
-Node: Multi-argument / and -570182
-Node: Multi-argument Apply570592
-Node: Rationalize570929
-Node: Promises572091
-Node: Dynamic-Wind572537
-Node: Eval573805
-Node: Values577150
-Node: SRFI577965
-Node: SRFI-1580198
-Node: Session Support584837
-Node: Repl585490
-Node: Quick Print586786
-Node: Debug588092
-Node: Breakpoints588999
-Node: Trace591041
-Node: System Interface594267
-Node: Directories594838
-Node: Transactions596331
-Node: CVS601842
-Node: Extra-SLIB Packages603009
-Node: About SLIB605318
-Node: Installation606070
-Node: The SLIB script611962
-Node: Porting612425
-Ref: Porting-Footnote-1599966
-Node: Coding Guidelines613989
-Node: Copyrights616403
-Node: About this manual619772
-Node: Index620323
+Node: Top1638
+Node: The Library System3412
+Node: Feature4269
+Ref: Feature-Footnote-15275
+Node: Require6848
+Node: Library Catalogs9261
+Node: Catalog Creation10692
+Node: Catalog Vicinities13067
+Node: Compiling Scheme15827
+Node: Module Conventions16477
+Ref: Module Conventions-Footnote-116707
+Node: Module Manifests18148
+Node: Module Semantics23620
+Node: Top-level Variable References25238
+Ref: Top-level Variable References-Footnote-126122
+Node: Module Analysis27638
+Node: Universal SLIB Procedures28743
+Node: Vicinity29358
+Node: Configuration33213
+Node: Input/Output36271
+Node: System39676
+Node: Miscellany42827
+Node: Scheme Syntax Extension Packages44971
+Node: Defmacro45909
+Node: R4RS Macros47885
+Node: Macro by Example49149
+Node: Macros That Work52047
+Node: Syntactic Closures58041
+Node: Syntax-Case Macros75569
+Node: Define-Structure79500
+Node: Define-Record-Type81476
+Node: Fluid-Let82109
+Node: Binding to multiple values83079
+Node: Guarded LET* special form83441
+Node: Guarded COND Clause83793
+Node: Yasos85578
+Node: Yasos terms86390
+Node: Yasos interface87428
+Node: Setters89524
+Node: Yasos examples92183
+Node: Textual Conversion Packages95141
+Node: Precedence Parsing95942
+Node: Precedence Parsing Overview96627
+Ref: Precedence Parsing Overview-Footnote-196693
+Node: Rule Types98343
+Node: Ruleset Definition and Use99798
+Node: Token definition102195
+Node: Nud and Led Definition104803
+Node: Grammar Rule Definition107264
+Node: Format114860
+Node: Format Interface115115
+Node: Format Specification116865
+Node: Standard Formatted I/O127810
+Node: Standard Formatted Output128398
+Node: Standard Formatted Input137856
+Node: Programs and Arguments144533
+Node: Getopt145041
+Node: Command Line151588
+Node: Parameter lists154786
+Node: Getopt Parameter lists158692
+Node: Filenames161933
+Node: Batch165843
+Node: HTML173667
+Node: HTML Tables180109
+Node: HTTP and CGI186641
+Node: Parsing HTML191190
+Node: URI193697
+Node: Printing Scheme198369
+Node: Generic-Write198688
+Node: Object-To-String200104
+Node: Pretty-Print200523
+Node: Time and Date203508
+Node: Time Zone204565
+Node: Posix Time209307
+Node: Common-Lisp Time211475
+Node: Time Infrastructure213101
+Node: NCBI-DNA213452
+Node: Schmooz214800
+Node: Mathematical Packages219036
+Node: Bit-Twiddling219931
+Node: Modular Arithmetic228060
+Node: Irrational Integer Functions230919
+Node: Irrational Real Functions233383
+Node: Prime Numbers242242
+Node: Random Numbers244087
+Node: Exact Random Numbers245069
+Node: Inexact Random Numbers247394
+Node: Discrete Fourier Transform249279
+Node: Cyclic Checksum253463
+Node: Graphing261232
+Node: Character Plotting261494
+Node: PostScript Graphing267061
+Node: Column Ranges268894
+Node: Drawing the Graph270431
+Node: Graphics Context271580
+Node: Rectangles273454
+Node: Legending274962
+Node: Legacy Plotting277350
+Node: Example Graph278418
+Node: Solid Modeling282843
+Node: Color303002
+Node: Color Data-Type303976
+Ref: Color Data-Type-Footnote-1295346
+Node: Color Spaces308705
+Ref: Color Spaces-Footnote-1305347
+Node: Spectra318744
+Node: Color Difference Metrics327639
+Node: Color Conversions330417
+Node: Color Names332671
+Node: Daylight339729
+Node: Root Finding344546
+Node: Minimizing348629
+Ref: Minimizing-Footnote-1336878
+Node: The Limit350735
+Node: Commutative Rings355670
+Node: Matrix Algebra367236
+Node: Database Packages368442
+Node: Relational Database368725
+Node: Using Databases369592
+Node: Table Operations376098
+Node: Single Row Operations377309
+Node: Match-Keys379570
+Node: Multi-Row Operations381649
+Node: Indexed Sequential Access Methods384040
+Node: Sequential Index Operations385048
+Node: Table Administration387404
+Node: Database Interpolation388271
+Node: Embedded Commands389373
+Node: Database Extension390947
+Node: Command Intrinsics393072
+Node: Define-tables Example394634
+Node: The *commands* Table396284
+Node: Command Service398562
+Node: Command Example400524
+Node: Database Macros405077
+Node: Within-database405962
+Node: Within-database Example408869
+Node: Database Browser410656
+Node: Relational Infrastructure411732
+Node: Base Table412036
+Node: The Base414544
+Node: Base Tables417662
+Node: Base Field Types419138
+Node: Composite Keys419921
+Node: Base Record Operations421975
+Node: Match Keys423703
+Node: Aggregate Base Operations424584
+Node: Base ISAM Operations425649
+Node: Catalog Representation426967
+Node: Relational Database Objects429636
+Node: Database Operations432280
+Node: Weight-Balanced Trees435989
+Node: Construction of Weight-Balanced Trees439875
+Node: Basic Operations on Weight-Balanced Trees443341
+Node: Advanced Operations on Weight-Balanced Trees446208
+Node: Indexing Operations on Weight-Balanced Trees452249
+Node: Other Packages456090
+Node: Data Structures456619
+Node: Arrays457460
+Node: Subarrays466147
+Node: Array Mapping468676
+Node: Array Interpolation471086
+Node: Association Lists472350
+Node: Byte474626
+Node: Byte/Number Conversions480872
+Node: MAT-File Format488342
+Node: Portable Image Files489621
+Node: Collections491251
+Node: Dynamic Data Type497383
+Node: Hash Tables498662
+Node: Object501250
+Node: Priority Queues509533
+Node: Queues510388
+Node: Records511633
+Node: Sorting and Searching515143
+Node: Common List Functions515836
+Node: List construction516293
+Node: Lists as sets518008
+Node: Lists as sequences524546
+Node: Destructive list operations529773
+Node: Non-List functions532451
+Node: Tree Operations533540
+Node: Chapter Ordering535233
+Node: Sorting536880
+Node: Topological Sort544651
+Node: Hashing546359
+Node: Space-Filling Curves547376
+Node: Hilbert Space-Filling Curve547680
+Node: Peano Space-Filling Curve551570
+Node: Sierpinski Curve552676
+Node: Soundex555140
+Node: String Search556738
+Node: Sequence Comparison559311
+Node: Procedures562441
+Node: Type Coercion562969
+Node: String-Case563401
+Node: String Ports565228
+Node: Line I/O566000
+Node: Multi-Processing568049
+Node: Metric Units569167
+Node: Standards Support577446
+Node: RnRS578242
+Node: With-File579465
+Node: Transcripts579741
+Node: Rev2 Procedures580075
+Node: Rev4 Optional Procedures581808
+Node: Multi-argument / and -582277
+Node: Multi-argument Apply582687
+Node: Rationalize583024
+Node: Promises584186
+Node: Dynamic-Wind584632
+Node: Eval585900
+Node: Values589245
+Node: SRFI590060
+Node: SRFI-1591550
+Node: Session Support596110
+Node: Repl596684
+Node: Quick Print597980
+Node: Debug599286
+Node: Breakpoints600193
+Node: Trace602235
+Node: System Interface605461
+Node: Directories606032
+Node: Transactions607525
+Node: CVS613036
+Node: Extra-SLIB Packages614203
+Node: About SLIB616512
+Node: Installation617485
+Node: The SLIB script623377
+Node: Porting623840
+Ref: Porting-Footnote-1608048
+Node: Coding Guidelines625404
+Node: Copyrights627818
+Node: About this manual631187
+Node: Copying This Manual632138
+Node: How to use this License for your documents664205
+Node: Index666885

End Tag Table