Commit 0a435b18 authored by eg's avatar eg

Documentation update for 0.72 release

parent 973f4886
......@@ -25,7 +25,7 @@
C function (as the converter. Used to obtain the value of errno
for instance in Posix extension.
* lib/bonus.stk: Added the prnt and printerr procedures.
* lib/bonus.stk: Added the PRINT and PRINTERR procedures.
2005-12-15 Erick Gallesio <eg@essi.fr>
......
-*- outline -*-
S T k l o s ( v e r s i o n 0 . 7 1 )
S T k l o s ( v e r s i o n 0 . 7 2 )
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Erick Gallesio
......
;; **DO NOT EDIT** -*- scheme -*-
;; File generated automatically on Mon Dec 12 22:05:10 CET 2005
;; File generated automatically on Tue Jan 3 16:21:24 CET 2006
;; Source file "boolean.c"
......@@ -583,6 +583,8 @@
(string-titlecase! :type extended :synopsis "(string-titlecase! str)\n(string-titlecase! str start)\n(string-titlecase! str start end)" :description "This is the in-place side-effecting variant of |string-titlecase|. " :similar ())
(string-blit! :type extended :synopsis "(string-blit! s1 s2 offset)" :description "This function places the characters of string |s2| in the string |s1| \nstarting at position |offset|. The result of |string-blit!| may modify \nthe string |s1|. Note that the characters of |s2| can be written after \nthe end of |s1| (in which case a new string is allocated).\n@lisp\n(string-blit! (make-string 6 #\\X) \"abc\" 2)\n => \"XXabcX\"\n(string-blit! (make-string 10 #\\X) \"abc\" 5)\n => \"XXXXXabc\"\n(string-blit! (make-string 6 #\\X) \"a\" 10)\n => \"XXXXXX\\0\\0\\0\\0a\"\n@end lisp" :similar ())
;; Source file "struct.c"
......@@ -742,7 +744,7 @@
(input-virtual-port? :see output-virtual-port?)
;; **DO NOT EDIT** -*- scheme -*-
;; File generated automatically on Thu Nov 3 22:10:11 CET 2005
;; File generated automatically on Tue Jan 3 16:21:24 CET 2006
;; Source file "STklos.init"
......@@ -895,6 +897,9 @@
;; Source file "srfi-60.stk"
;; Source file "srfi-66.stk"
;; Source file "srfi-70.stk"
......@@ -979,6 +984,9 @@
(port->sexp-list :see port->string-list)
(port->string :see port->string-list)
(printerr :type extended :synopsis "(print obj ...)\n(printerr obj ...)" :description "These procedures display all their arguments followed by a newline. The\nprocedure |print| uses the standard output port, whereas |printerr| uses the\ncurrent error port" :similar (print))
(print :see printerr)
(exec-list :type extended :synopsis "(exec str)\n(exec-list str)" :description "These procedures execute the command given in |str|. The command given \nin |str| is passed to |/bin/sh|. |Exec| returns a strings which contains \nall the characters that the command |str| has printed on it's standard\noutput, whereas |exec-list| returns a list of the lines which constitute\nthe output of |str|.\n@lisp\n(exec \"echo A; echo B\") => \"A\\\\nB\\\\n\"\n(exec-list \"echo A; echo B\") => (\"A\" \"B\")\n@end lisp" :similar (exec))
(exec :see exec-list)
......
......@@ -15,10 +15,10 @@
<td align="left" valign="top" width="20%" bgcolor="#E6F2E6">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="darkolivegreen"><font color="white">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19716">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19776">*Top*</a></td></tr>
<tr class="navsel"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a><br /><table cellspacing="1" cellpadding="1" width="100%">
<tbody>
<tr><td valign="top" align="left">1.1</td><td colspan="4" width="100%"><a href="stklos-ref-1.html#-section-845">Overview of <span style="font-variant: small-caps">STklos</span></td></tr>
<tr><td valign="top" align="left">1.1</td><td colspan="4" width="100%"><a href="stklos-ref-1.html#-section-808">Overview of <span style="font-variant: small-caps">STklos</span></td></tr>
<tr><td valign="top" align="left">1.2</td><td colspan="4" width="100%"><a href="stklos-ref-1.html#-Lexical-Conventions"> Lexical Conventions</td></tr>
<tr><td valign="top" align="left">1.3</td><td colspan="4" width="100%"><a href="stklos-ref-1.html#Basic-Concepts">Basic Concepts</td></tr>
</tbody>
......@@ -39,9 +39,9 @@
</tbody></table>
</td>
<td align="left" valign="top">
<a name="-section-845"></a>
<a name="-section-808"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3><font color="#000000">1.1 Overview of <span style="font-variant: small-caps">STklos</span></font></h3></table>
<a name="--index-entry-801"></a><a name="--index-entry-806"></a><p> <span style="font-variant: small-caps">STklos</span> is the successor of <span style="font-variant: small-caps">STk</span>
<a name="--index-entry-764"></a><a name="--index-entry-769"></a><p> <span style="font-variant: small-caps">STklos</span> is the successor of <span style="font-variant: small-caps">STk</span>
[<a href="stklos-ref-13.html#Gallesio95-1a">6</a>], a Scheme interpreter which was tightly
connected to the Tk graphical toolkit [<a href="stklos-ref-13.html#Ouster-Tk">11</a>].
<span style="font-variant: small-caps">STk</span> had an object layer which was called <span style="font-variant: small-caps">STklos</span>. At this
......@@ -51,7 +51,7 @@ extension. For instance, when programming a GUI application,
a user could access the widgets at the (low) Tk level, or access
them using a neat hierarchy of classes wrapped in <span style="font-variant: small-caps">STklos</span>.</p><p> Since the object layer is now more closely integrated with
the language, the new system has been renamed <span style="font-variant: small-caps">STklos</span> and
<span style="font-variant: small-caps">STk</span> is now used to designate the old system. </p><a name="--index-entry-829"></a><p> <strong>Compatibility with <span style="font-variant: small-caps">STk</span></strong>: <span style="font-variant: small-caps">STklos</span> has been
<span style="font-variant: small-caps">STk</span> is now used to designate the old system. </p><a name="--index-entry-792"></a><p> <strong>Compatibility with <span style="font-variant: small-caps">STk</span></strong>: <span style="font-variant: small-caps">STklos</span> has been
completely rewritten and as a consequence, due to new
implementation choices, old <span style="font-variant: small-caps">STk</span> programs are not fully
compatible with the new system. However, these changes are very
......@@ -65,13 +65,13 @@ identical in every points, share the same philosophy.</p><a name="-Lexical-Conve
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="-Lexical-Conventions"><font color="#000000">1.2 Lexical Conventions</font></h3></table>
<a name="Identifiers"></a>
<h4 id="Identifiers"><font color="darkolivegreen">1.2.1 Identifiers</font></h4>
<a name="--index-entry-848"></a><p>In <span style="font-variant: small-caps">STklos</span>, identifiers which start (or end) with a colon
<a name="--index-entry-811"></a><p>In <span style="font-variant: small-caps">STklos</span>, identifiers which start (or end) with a colon
"<code>:</code>" are considered as keywords. For instance
<code>:foo</code> and <code>bar:</code> are <span style="font-variant: small-caps">STklos</span> keywords, but
<code>not:key</code> is not a keyword. See
section&nbsp;<a href="stklos-ref-4.html#Keywords">Keywords</a> for more information</p><a name="Comments"></a>
<h4 id="Comments"><font color="darkolivegreen">1.2.2 Comments</font></h4>
<a name="--index-entry-866"></a><a name="--index-entry-870"></a><a name="--index-entry-874"></a><a name="--index-entry-878"></a><a name="--index-entry-882"></a><p>There are four types of comments in <span style="font-variant: small-caps">STklos</span>:</p><ul><li>a semicolon "<code>;</code>" indicates the start of a
<a name="--index-entry-829"></a><a name="--index-entry-833"></a><a name="--index-entry-837"></a><a name="--index-entry-841"></a><a name="--index-entry-845"></a><p>There are four types of comments in <span style="font-variant: small-caps">STklos</span>:</p><ul><li>a semicolon "<code>;</code>" indicates the start of a
comment. This kind of comment extends to the end of the line (as
described in <span style="font-variant: small-caps">R<sup>5</sup>RS</span>).</li>
<li> multi-lines comment use the classical Lisp convention:
......@@ -134,6 +134,6 @@ can also be represented in this way:
See the original <span style="font-variant: small-caps">R<sup>5</sup>RS</span> document for more informations on
the basic concepts of the Scheme Programming Language.<p></p></td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Thu Nov 3 17:05:22 2005</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Jan 3 16:28:47 2006</em></small>
</body>
</html>
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#E6F2E6">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="darkolivegreen"><font color="white">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19716">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19776">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
......@@ -32,7 +32,7 @@
</tbody></table>
</td>
<td align="left" valign="top">
<a name="--index-entry-19003"></a><a name="--index-entry-19007"></a><p>Aubrey Jaffer maintains a package called
<a name="--index-entry-19045"></a><a name="--index-entry-19049"></a><p>Aubrey Jaffer maintains a package called
<em><a href="http://swiss.csail.mit.edu/~jaffer/SLIB">SLIB</a></em>
which is a portable Scheme library which provides compatibility
and utility functions for all standard Scheme implementations. To
......@@ -49,6 +49,6 @@ such as if their parameter is a string this is the old <span style="font-variant
procedure which is called, and if their parameter is a symbol,
this is the <em>SLIB</em> one which is called.</p></td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Thu Nov 3 17:05:29 2005</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Jan 3 16:28:54 2006</em></small>
</body>
</html>
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#E6F2E6">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="darkolivegreen"><font color="white">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19716">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19776">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
......@@ -58,6 +58,7 @@
<tr><td valign="top" align="left"></td><td colspan="4" width="100%"><a href="stklos-ref-11.html#SRFI-55----Require-extension">SRFI-55 -- Require-extension</td></tr>
<tr><td valign="top" align="left"></td><td colspan="4" width="100%"><a href="stklos-ref-11.html#SRFI-60----Integers-as-bits">SRFI-60 -- Integers as bits</td></tr>
<tr><td valign="top" align="left"></td><td colspan="4" width="100%"><a href="stklos-ref-11.html#SRFI-62----S-expression-comments">SRFI-62 -- S-expression comments</td></tr>
<tr><td valign="top" align="left"></td><td colspan="4" width="100%"><a href="stklos-ref-11.html#SRFI-66----Octet-Vectors">SRFI-66 -- Octet Vectors</td></tr>
<tr><td valign="top" align="left"></td><td colspan="4" width="100%"><a href="stklos-ref-11.html#SRFI-69----Basic-Hash-Tables">SRFI-69 -- Basic Hash Tables</td></tr>
<tr><td valign="top" align="left"></td><td colspan="4" width="100%"><a href="stklos-ref-11.html#SRFI-70----Numbers">SRFI-70 -- Numbers</td></tr>
</tbody>
......@@ -80,7 +81,7 @@ several years and this would prevent the timely implementation of
standardized approaches to several important problems and needs
in the Scheme community.</p><p>Only the implemented SRFIs are (briefly) presented here. For further
information on each SRFI, please look at the official
<a href="http://srfi.schemers.org">SRFI site</a>.</p><a name="--index-entry-19063"></a><a name="SRFI-0----Feature-based-conditional-expansion-construct"></a>
<a href="http://srfi.schemers.org">SRFI site</a>.</p><a name="--index-entry-19105"></a><a name="SRFI-0----Feature-based-conditional-expansion-construct"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-0----Feature-based-conditional-expansion-construct"><font color="#000000"> SRFI-0 -- Feature-based conditional expansion construct</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-0/srfi-0.html">SRFI-0</a> defines the <code>cond-expand</code>
special form. It is fully supported by <span style="font-variant: small-caps">STklos</span>. <span style="font-variant: small-caps">STklos</span>
......@@ -91,7 +92,7 @@ SRFI supported by the implementation (for instance
feature identifiers which are the same that the ones
defined in igure <a href="stklos-ref-11.html#Feature-identifiers">2</a></p><p>Furthermore, the feature
identifier <em>stklos</em> is defined for application which need
to know on which Scheme implementation they are running on.</p><a name="--index-entry-19081"></a><a name="SRFI-1----List-Library"></a>
to know on which Scheme implementation they are running on.</p><a name="--index-entry-19123"></a><a name="SRFI-1----List-Library"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-1----List-Library"><font color="#000000"> SRFI-1 -- List Library</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-1/srfi-1.html">SRFI-1</a> defines an extensive library for list
manipulation. The implementation used in STklos is based on the
......@@ -100,7 +101,7 @@ need to insert the following expression</p><blockquote><table cellspacing="0" cl
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-1&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19101"></a><a name="SRFI-2----AND-LET---an-AND-with-local-bindings--a-guarded-LET--special-form"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19143"></a><a name="SRFI-2----AND-LET---an-AND-with-local-bindings--a-guarded-LET--special-form"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-2----AND-LET---an-AND-with-local-bindings--a-guarded-LET--special-form"><font color="#000000"> SRFI-2 -- AND-LET*: an AND with local bindings, a guarded LET* special form</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-2/srfi-2.html">SRFI-2</a> defines an <em>and</em> form with local
binding which acts as a guarded <em>let*</em>. To use, SRFI-2
......@@ -108,7 +109,7 @@ you need to insert the following expression</p><blockquote><table cellspacing="0
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-2&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19119"></a><a name="SRFI-4----Homogeneous-numeric-vector-datatypes"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19161"></a><a name="SRFI-4----Homogeneous-numeric-vector-datatypes"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-4----Homogeneous-numeric-vector-datatypes"><font color="#000000"> SRFI-4 -- Homogeneous numeric vector datatypes</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-4/srfi-4.html">SRFI-4</a> defines a set of data types for vectors
whose element are of the same numeric type (homogeneous vectors).
......@@ -116,22 +117,22 @@ To use SRFI-4, you need to insert the following expression</p><blockquote><table
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-4&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19126"></a><a name="--index-entry-19130"></a><a name="--index-entry-19134"></a><a name="--index-entry-19144"></a><a name="SRFI-6----Basic-String-Ports"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19168"></a><a name="--index-entry-19172"></a><a name="--index-entry-19176"></a><a name="--index-entry-19186"></a><a name="SRFI-6----Basic-String-Ports"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-6----Basic-String-Ports"><font color="#000000"> SRFI-6 -- Basic String Ports</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-6/srfi-6.html">SRFI-6</a> is fully supported and is completely
described in this document (procedures
<code>open-input-string</code>, <code>open-output-string</code> and
<code>get-output-string</code>). </p><a name="--index-entry-19162"></a><a name="SRFI-7----Feature-based-program-configuration-language-"></a>
<code>get-output-string</code>). </p><a name="--index-entry-19204"></a><a name="SRFI-7----Feature-based-program-configuration-language-"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-7----Feature-based-program-configuration-language-"><font color="#000000"> SRFI-7 -- Feature-based program configuration language </font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-7/srfi-7.html">SRFI-7</a> is fully supported. To use SRFI-7, you
need to insert the following expression </p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-7&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19169"></a><a name="--index-entry-19177"></a><a name="SRFI-8----Receive--Binding-to-multiple-values"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19211"></a><a name="--index-entry-19219"></a><a name="SRFI-8----Receive--Binding-to-multiple-values"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-8----Receive--Binding-to-multiple-values"><font color="#000000"> SRFI-8 -- Receive: Binding to multiple values</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-8/srfi-8.html">SRFI-8</a> is fully supported and is completely
described in this document (special form <code>receive</code>)</p><a name="--index-entry-19196"></a><a name="SRFI-9----Defining-Record-Types"></a>
described in this document (special form <code>receive</code>)</p><a name="--index-entry-19238"></a><a name="SRFI-9----Defining-Record-Types"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-9----Defining-Record-Types"><font color="#000000"> SRFI-9 -- Defining Record Types</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-9/srfi-9.html">SRFI-9</a> is fully supported (the implementation
uses <span style="font-variant: small-caps">STklos</span> classes to implement SRFI-9 records). To use
......@@ -139,35 +140,35 @@ SRFI-9, you need to insert the following expression </p><blockquote><table cells
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-9&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19213"></a><a name="SRFI-10----Sharp-Comma-External-Form"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19255"></a><a name="SRFI-10----Sharp-Comma-External-Form"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-10----Sharp-Comma-External-Form"><font color="#000000"> SRFI-10 -- Sharp Comma External Form</font></h3></table>
<a name="--index-entry-19203"></a><p><a href="http://srfi.schemers.org/srfi-10/srfi-10.html">SRFI-10</a> is fully supported. This SRFI extends the
<a name="--index-entry-19245"></a><p><a href="http://srfi.schemers.org/srfi-10/srfi-10.html">SRFI-10</a> is fully supported. This SRFI extends the
STklos reader with the "<code>#,</code>" notation which is fully described in
this document (see <a href="stklos-ref-4.html#define-reader-ctor">???</a>).</p><a name="--index-entry-19220"></a><a name="--index-entry-19224"></a><a name="--index-entry-19239"></a><a name="SRFI-11----Syntax-for-receiving-multiple-values"></a>
this document (see <a href="stklos-ref-4.html#define-reader-ctor">???</a>).</p><a name="--index-entry-19262"></a><a name="--index-entry-19266"></a><a name="--index-entry-19281"></a><a name="SRFI-11----Syntax-for-receiving-multiple-values"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-11----Syntax-for-receiving-multiple-values"><font color="#000000"> SRFI-11 -- Syntax for receiving multiple values</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-11/srfi-11.html">SRFI-11</a> is fully supported. To use SRFI-11, you
need to insert the following expression</p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-11&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19246"></a><a name="--index-entry-19261"></a><a name="SRFI-13----String-Library"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19288"></a><a name="--index-entry-19303"></a><a name="SRFI-13----String-Library"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-13----String-Library"><font color="#000000"> SRFI-13 -- String Library</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-13/srfi-13.html">SRFI-13</a> is fully supported. To use SRFI-13, you
need to insert the following expression</p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-13&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19268"></a><a name="--index-entry-19283"></a><a name="SRFI-14----Character-Set-Library"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19310"></a><a name="--index-entry-19325"></a><a name="SRFI-14----Character-Set-Library"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-14----Character-Set-Library"><font color="#000000"> SRFI-14 -- Character-Set Library</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-14/srfi-14.html">SRFI-14</a> is fully supported. To use SRFI-14, you
need to insert the following expression</p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-14&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19290"></a><a name="--index-entry-19294"></a><a name="--index-entry-19302"></a><a name="SRFI-16----Syntax-for-procedures-of-variable-arity"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19332"></a><a name="--index-entry-19336"></a><a name="--index-entry-19344"></a><a name="SRFI-16----Syntax-for-procedures-of-variable-arity"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-16----Syntax-for-procedures-of-variable-arity"><font color="#000000"> SRFI-16 -- Syntax for procedures of variable arity</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-16/srfi-16.html">SRFI-16</a> is fully supported and is completely
described in this document (procedure <code>case-lambda</code>).</p><a name="--index-entry-19309"></a><a name="--index-entry-19313"></a><a name="--index-entry-19317"></a><a name="--index-entry-19334"></a><a name="SRFI-17----Generalized-set-"></a>
described in this document (procedure <code>case-lambda</code>).</p><a name="--index-entry-19351"></a><a name="--index-entry-19355"></a><a name="--index-entry-19359"></a><a name="--index-entry-19376"></a><a name="SRFI-17----Generalized-set-"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-17----Generalized-set-"><font color="#000000"> SRFI-17 -- Generalized set!</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-17/srfi-17.html">SRFI-17</a> is fully supported and is completely
described in this document (procedures <code>set!</code> and
......@@ -176,7 +177,7 @@ described in this document (procedures <code>set!</code> and
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code (or the use of the <code>cond-expand</code> special form) permits
to define the setters for the (numerous) cXXXXr list procedures.</p><a name="--index-entry-19341"></a><a name="--index-entry-19378"></a><a name="SRFI-22----Running-Scheme-Scripts-on-Unix"></a>
to define the setters for the (numerous) cXXXXr list procedures.</p><a name="--index-entry-19383"></a><a name="--index-entry-19420"></a><a name="SRFI-22----Running-Scheme-Scripts-on-Unix"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-22----Running-Scheme-Scripts-on-Unix"><font color="#000000"> SRFI-22 -- Running Scheme Scripts on Unix</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-22/srfi-22.html">SRFI-22</a> describes basic prerequisites for
running Scheme programs as Unix scripts in a uniform
......@@ -205,42 +206,42 @@ command (without option) in Scheme:</p><blockquote><table cellspacing="0" class=
0)
</pre></td></tr>
</tbody></table></blockquote>
<a name="--index-entry-19385"></a><a name="--index-entry-19394"></a><a name="SRFI-23----Error-reporting-mechanism"></a>
<a name="--index-entry-19427"></a><a name="--index-entry-19436"></a><a name="SRFI-23----Error-reporting-mechanism"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-23----Error-reporting-mechanism"><font color="#000000"> SRFI-23 -- Error reporting mechanism</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-23/srfi-23.html">SRFI-23</a> is fully supported. See the
documentation of the (ref :mark &quot;error&quot;) primitive form more
information (in fact <span style="font-variant: small-caps">STklos</span> <code>error</code> is more general
than the one defined in SRFI-23).</p><a name="--index-entry-19412"></a><a name="SRFI-26----Notation-for-Specializing-Parameters-without-Currying"></a>
than the one defined in SRFI-23).</p><a name="--index-entry-19454"></a><a name="SRFI-26----Notation-for-Specializing-Parameters-without-Currying"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-26----Notation-for-Specializing-Parameters-without-Currying"><font color="#000000"> SRFI-26 -- Notation for Specializing Parameters without Currying</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-26/srfi-26.html">SRFI-26</a> is fully supported. To use SRFI-31,
you need to insert the following expression </p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-26&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19419"></a><a name="--index-entry-19423"></a><a name="--index-entry-19432"></a><a name="SRFI-27----Source-of-random-bits"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19461"></a><a name="--index-entry-19465"></a><a name="--index-entry-19474"></a><a name="SRFI-27----Source-of-random-bits"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-27----Source-of-random-bits"><font color="#000000"> SRFI-27 -- Source of random bits</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-27/srfi-27.html">SRFI-27</a> is fully supported. See
<a href="stklos-ref-4.html#random-integer">random-integer</a> and
<a href="stklos-ref-4.html#random-real">random-real</a>.</p><a name="--index-entry-19439"></a><a name="--index-entry-19450"></a><a name="SRFI-28----Basic-Format-Strings"></a>
<a href="stklos-ref-4.html#random-real">random-real</a>.</p><a name="--index-entry-19481"></a><a name="--index-entry-19492"></a><a name="SRFI-28----Basic-Format-Strings"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-28----Basic-Format-Strings"><font color="#000000"> SRFI-28 -- Basic Format Strings</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-28/srfi-28.html">SRFI-28</a> is fully supported. See the
documentation of the <a href="stklos-ref-4.html#format">???</a> primitive form more
information (in fact <span style="font-variant: small-caps">STklos</span> <code>format</code> is more general
than the one defined in <strong>SRFI-28</strong> (Basic Format Strings)).</p><a name="--index-entry-19461"></a><a name="SRFI-30----Nested-Multi-line-Comments"></a>
than the one defined in <strong>SRFI-28</strong> (Basic Format Strings)).</p><a name="--index-entry-19503"></a><a name="SRFI-30----Nested-Multi-line-Comments"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-30----Nested-Multi-line-Comments"><font color="#000000"> SRFI-30 -- Nested Multi-line Comments</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-30/srfi-30.html">SRFI-30</a> is fully supported by <span style="font-variant: small-caps">STklos</span>
reader.</p><a name="--index-entry-19479"></a><a name="SRFI-31----A-special-form-for-recursive-evaluation"></a>
reader.</p><a name="--index-entry-19521"></a><a name="SRFI-31----A-special-form-for-recursive-evaluation"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-31----A-special-form-for-recursive-evaluation"><font color="#000000"> SRFI-31 -- A special form for recursive evaluation</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-31/srfi-31.html">SRFI-31</a> is fully supported. To use SRFI-31,
you need to insert the following expression</p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-31&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19486"></a><a name="--index-entry-19490"></a><a name="--index-entry-19499"></a><a name="SRFI-34----Exception-Handling-for-Programs"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19528"></a><a name="--index-entry-19532"></a><a name="--index-entry-19541"></a><a name="SRFI-34----Exception-Handling-for-Programs"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-34----Exception-Handling-for-Programs"><font color="#000000"> SRFI-34 -- Exception Handling for Programs</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-34/srfi-34.html">SRFI-34</a> is fully supported and is completely
described in this document (see <code>with-exception-handler</code>
and <code>guard</code>).</p><a name="--index-entry-19518"></a><a name="SRFI-35----Conditions"></a>
and <code>guard</code>).</p><a name="--index-entry-19560"></a><a name="SRFI-35----Conditions"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-35----Conditions"><font color="#000000"> SRFI-35 -- Conditions</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-35/srfi-35.html">SRFI-35</a> is fully supported. To use SRFI-35,
you need to insert the following expression </p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
......@@ -249,7 +250,7 @@ you need to insert the following expression </p><blockquote><table cellspacing="
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.
See section <a href="stklos-ref-7.html#Predefined-Conditions">Predefined Conditions</a> for the predefined conditions
and when it is required to load this file.</p><a name="--index-entry-19537"></a><a name="SRFI-36----I-O-Conditions"></a>
and when it is required to load this file.</p><a name="--index-entry-19579"></a><a name="SRFI-36----I-O-Conditions"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-36----I-O-Conditions"><font color="#000000"> SRFI-36 -- I/O Conditions</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-36/srfi-36.html">SRFI-36</a> is fully supported. To use SRFI-36,
you need to insert the following expression </p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
......@@ -258,18 +259,18 @@ you need to insert the following expression </p><blockquote><table cellspacing="
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.
See section <a href="stklos-ref-7.html#Predefined-Conditions">Predefined Conditions</a> for the predefined conditions
and when it is required to load this file.</p><a name="--index-entry-19548"></a><a name="SRFI-38----External-representation-of-shared-structures"></a>
and when it is required to load this file.</p><a name="--index-entry-19590"></a><a name="SRFI-38----External-representation-of-shared-structures"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-38----External-representation-of-shared-structures"><font color="#000000"> SRFI-38 -- External representation of shared structures</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-38/srfi-38.html">SRFI-38</a> is fully supported by <span style="font-variant: small-caps">STklos</span>
reader.</p><a name="--index-entry-19560"></a><a name="SRFI-39----Parameters-objects"></a>
reader.</p><a name="--index-entry-19602"></a><a name="SRFI-39----Parameters-objects"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-39----Parameters-objects"><font color="#000000"> SRFI-39 -- Parameters objects</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-39/srfi-39.html">SRFI-39</a> is fully supported and is completely
described in this document (procedures
<a href="stklos-ref-4.html#make-parameter">???</a> and
<a href="stklos-ref-4.html#parameterize">???</a>).</p><a name="--index-entry-19567"></a><a name="--index-entry-19575"></a><a name="SRFI-48----Intermediate-Format-Strings"></a>
<a href="stklos-ref-4.html#parameterize">???</a>).</p><a name="--index-entry-19609"></a><a name="--index-entry-19617"></a><a name="SRFI-48----Intermediate-Format-Strings"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-48----Intermediate-Format-Strings"><font color="#000000"> SRFI-48 -- Intermediate Format Strings</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-48/srfi-48.html">SRFI-48</a> is fully supported and is completely
described in this document (procedure <code>format</code>).</p><a name="--index-entry-19582"></a><a name="--index-entry-19638"></a><a name="SRFI-55----Require-extension"></a>
described in this document (procedure <code>format</code>).</p><a name="--index-entry-19624"></a><a name="--index-entry-19680"></a><a name="SRFI-55----Require-extension"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-55----Require-extension"><font color="#000000"> SRFI-55 -- Require-extension</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-55/srfi-55.html">SRFI-55</a> is fully supported and is completely
described in this document (procedure <a href="stklos-ref-4.html#require-extension">???</a>).</p><p>Furthermore, <span style="font-variant: small-caps">STklos</span> also accepts the symbols defined in
......@@ -294,16 +295,23 @@ figure <a href="stklos-ref-11.html#Feature-identifiers">2</a> in a
<center>
<strong>Fig. 2:</strong> Feature identifiers</center>
<br>
<a name="--index-entry-19656"></a><a name="SRFI-60----Integers-as-bits"></a>
<a name="--index-entry-19698"></a><a name="SRFI-60----Integers-as-bits"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-60----Integers-as-bits"><font color="#000000"> SRFI-60 -- Integers as bits</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-60/srfi-60.html">SRFI-60</a> is fully supported. To use SRFI-60,
you need to insert the following expression</p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-60&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19667"></a><a name="SRFI-62----S-expression-comments"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19709"></a><a name="SRFI-62----S-expression-comments"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-62----S-expression-comments"><font color="#000000"> SRFI-62 -- S-expression comments</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-62/srfi-62.html">SRFI-62</a> is fully supported. See <a href="stklos-ref-1.html#Comments">Comments</a></p><a name="--index-entry-19688"></a><a name="SRFI-69----Basic-Hash-Tables"></a>
<p><a href="http://srfi.schemers.org/srfi-62/srfi-62.html">SRFI-62</a> is fully supported. See <a href="stklos-ref-1.html#Comments">Comments</a></p><a name="--index-entry-19727"></a><a name="SRFI-66----Octet-Vectors"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-66----Octet-Vectors"><font color="#000000"> SRFI-66 -- Octet Vectors</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-66/srfi-66.html">SRFI-66</a> is fully supported. To use SRFI-66,
you need to insert the following expression</p><blockquote><table cellspacing="0" class="code" cellpadding="4" width="90%"><tbody>
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-66&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19748"></a><a name="SRFI-69----Basic-Hash-Tables"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-69----Basic-Hash-Tables"><font color="#000000"> SRFI-69 -- Basic Hash Tables</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-69/srfi-69.html">SRFI-69</a> is fully supported. Note that the
default comparison function in STklos is <code>eq?</code> whereas it
......@@ -314,10 +322,10 @@ following expression </p><blockquote><table cellspacing="0" class="code" cellpad
<tr><td bgcolor="#eee8bf"><pre>(require <font color="red">&quot;srfi-69&quot;</font>)
</pre></td></tr>
</tbody></table></blockquote>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19698"></a><a name="SRFI-70----Numbers"></a>
<p>in your code or uses the <code>cond-expand</code> special form.</p><a name="--index-entry-19758"></a><a name="SRFI-70----Numbers"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="SRFI-70----Numbers"><font color="#000000"> SRFI-70 -- Numbers</font></h3></table>
<p><a href="http://srfi.schemers.org/srfi-70/srfi-70.html">SRFI-70</a> is fully supported.</p></td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Thu Nov 3 17:05:29 2005</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Jan 3 16:28:55 2006</em></small>
</body>
</html>
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#E6F2E6">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="darkolivegreen"><font color="white">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19716">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19776">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
......@@ -35,6 +35,6 @@
<table><tbody><tr><td valign="top" align="right">[1] </td><td valign="top" align="left"> -- <a title="http://www-sop.inria.fr/mimosa/fp/Bigloo/" href="http://www-sop.inria.fr/mimosa/fp/Bigloo/"><strong>Bigloo Home Page</strong></a>.</td></tr><tr><td valign="top" align="right">[2] </td><td valign="top" align="left"> -- <a title="http://gtk.org/" href="http://gtk.org/"><strong>The GTK+ Toolkit Home Page</strong></a>.</td></tr><tr><td valign="top" align="right">[3] </td><td valign="top" align="left">Apple Computer -- <strong>Dylan: an Object Oriented Dynamic Language</strong> -- <i>Apple</i>, April, 1992.</td></tr><tr><td valign="top" align="right">[4] </td><td valign="top" align="left">C. Queinnec and J-M. Geffroy -- <strong>Partial Evaluation Applied to Symbolic Pattern Matching with Intelligent Backtrack</strong> -- Workshop in Static Analysis, Bigre, (81--82), Bordeaux (France), September, 1992.</td></tr><tr><td valign="top" align="right">[5] </td><td valign="top" align="left">Chris Hanson -- <a title="http://www.swiss.ai.mit.edu/projects/scheme/documentation/sos.html" href="http://www.swiss.ai.mit.edu/projects/scheme/documentation/sos.html"><strong>The SOS Reference Manual, version 1.5</strong></a> -- March, 1993.</td></tr><tr><td valign="top" align="right">[6] </td><td valign="top" align="left">Erick Gallesio -- <strong>Reference Manual</strong> -- RT 95-31a, I3S CNRS / Universit de Nice - Sophia Antipolis, juillet, 1995, pp. 82.</td></tr><tr><td valign="top" align="right">[7] </td><td valign="top" align="left">Gregor Kickzales -- <a title="ftp://parcftp.xerox.com/pub/openimplementations/tiny" href="ftp://parcftp.xerox.com/pub/openimplementations/tiny"><strong>Tiny-Clos</strong></a> -- December, 1992.</td></tr><tr><td valign="top" align="right">[8] </td><td valign="top" align="left">Gregor Kickzales, Jim de Rivires and Daniel G. Bobrow -- <strong>The Art of Meta Object Protocol</strong> -- <i>MIT Press</i>, 1991.</td></tr><tr><td valign="top" align="right">[9] </td><td valign="top" align="left">Guy L. Steele Jr. -- <strong>Common Lisp: the Language, 2nd Edition</strong> -- <i>Digital Press</i>, 12 Crosby Drive, Bedford, MA 01730, USA, 1990.</td></tr><tr><td valign="top" align="right">[10] </td><td valign="top" align="left">ISO/IEC -- <strong>Information technology, Processing Languages, Document Style Semantics and Specification Languages (DSSSL)</strong> -- 10179:1996(E), ISO, , 1996.</td></tr><tr><td valign="top" align="right">[11] </td><td valign="top" align="left">John K. Ousterhout -- <strong>An X11 toolkit based on the Tcl Language</strong> -- USENIX Winter Conference, January, 1991, pp. 105--115.</td></tr><tr><td valign="top" align="right">[12] </td><td valign="top" align="left">Kelsey, R. and Clinger, W. and Rees, J. -- <a title="http://www.schemers.org/Documents/Standards/R5RS/HTML" href="http://www.schemers.org/Documents/Standards/R5RS/HTML"><strong>The Revised5 Report on the Algorithmic Language Scheme</strong></a> -- Higher-Order and Symbolic Computation, 11(1), Sep, 1998.</td></tr><tr><td valign="top" align="right">[13] </td><td valign="top" align="left">Philip Hazel -- <a title="http://pcre.org/" href="http://pcre.org/"><strong>PCRE (Perl Compatible Regular Expressions) Home page</strong></a>.</td></tr><tr><td valign="top" align="right">[14] </td><td valign="top" align="left">Sho-Huan Simon Tung and R. Kent Dybvig -- <strong>Reliable Interactive Programming with Modules</strong> -- LISP and Symbolic Computation, 91996, pp. 343--358.</td></tr></tbody></table>
</td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Thu Nov 3 17:05:32 2005</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Jan 3 16:28:58 2006</em></small>
</body>
</html>
......@@ -15,7 +15,7 @@
<td align="left" valign="top" width="20%" bgcolor="#E6F2E6">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="darkolivegreen"><font color="white">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19716">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-19776">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navsel"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a><br /><table cellspacing="1" cellpadding="1" width="100%">
<tbody>
......@@ -52,7 +52,7 @@ very succinctly here for reference. See the (ref :bib &quot;R5RS&quot;) for a co
description.</p><a name="Literal-expressions"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="Literal-expressions"><font color="#000000">2.1 Literal expressions</font></h3></table>
<br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="quote"></a><a name="--index-entry-986"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="quote"></a><a name="--index-entry-949"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(quote &lt;datum&gt;)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">'&lt;datum&gt;</font></strong></code><br /><br />The quoting mechanism is identical to <span style="font-variant: small-caps">R<sup>5</sup>RS</span>, except that keywords
......@@ -74,8 +74,8 @@ constants, character constants, and boolean constants
constant vectors. This is not necessary with <span style="font-variant: small-caps">STklos</span>.</td></tr>
</tbody></table><a name="Procedures"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="Procedures"><font color="#000000">2.2 Procedures</font></h3></table>
<a name="--index-entry-1051"></a><a name="--index-entry-1055"></a><a name="--index-entry-1059"></a><a name="--index-entry-1063"></a><a name="--index-entry-1067"></a><a name="--index-entry-1071"></a><a name="--index-entry-1075"></a><a name="--index-entry-1079"></a><a name="--index-entry-1083"></a><a name="--index-entry-1087"></a><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="lambda"></a><a name="--index-entry-1093"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<a name="--index-entry-1014"></a><a name="--index-entry-1018"></a><a name="--index-entry-1022"></a><a name="--index-entry-1026"></a><a name="--index-entry-1030"></a><a name="--index-entry-1034"></a><a name="--index-entry-1038"></a><a name="--index-entry-1042"></a><a name="--index-entry-1046"></a><a name="--index-entry-1050"></a><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="lambda"></a><a name="--index-entry-1056"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(lambda &lt;formals&gt; &lt;body&gt;)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> syntax</i></font></td></tr>
</tbody></table>
<br />A lambda expression evaluates to a procedure. <span style="font-variant: small-caps">STklos</span> lambda expression
......@@ -191,13 +191,13 @@ At last, here is an example showing <code>:optional</code> <code>:rest</code> an
</li>
</ul></td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="closure-"></a><a name="--index-entry-1270"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="closure-"></a><a name="--index-entry-1233"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(closure? obj)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> procedure</i></font></td></tr>
</tbody></table>
<br />Returns <code>#t</code> if <code>obj</code> is a procedure created with the <code>lambda</code> syntax and
<code>#f</code> otherwise.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="case-lambda"></a><a name="--index-entry-1292"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="case-lambda"></a><a name="--index-entry-1255"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(case-lambda &lt;clause&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> syntax</i></font></td></tr>
</tbody></table>
<br />Each <code>&lt;clause&gt;</code> should have the form <code>(&lt;formals&gt; &lt;body&gt;)</code>, where
......@@ -244,8 +244,8 @@ This form is defined in <strong><a href="http://srfi.schemers.org/srfi-16/srfi-1
</td></tr>
</tbody></table><a name="Assignments"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="Assignments"><font color="#000000">2.3 Assignments</font></h3></table>
<a name="--index-entry-1371"></a><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="set-"></a><a name="--index-entry-1377"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<a name="--index-entry-1334"></a><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="set-"></a><a name="--index-entry-1340"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(set! &lt;variable&gt; &lt;expression&gt;)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(set! (&lt;proc&gt; &lt;arg&gt; ...) &lt;expression&gt;)</font></strong></code><br /><br />The first form of <code>set!</code> is the <span style="font-variant: small-caps">R<sup>5</sup>RS</span> one:
......@@ -302,7 +302,7 @@ is equivalent to the call
The result of the <code>set!</code> expression is unspecified.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="setter"></a><a name="--index-entry-1457"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="setter"></a><a name="--index-entry-1420"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(setter proc)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> procedure</i></font></td></tr>
</tbody></table>
<br />Returns the setter associated to a <code>proc</code>. Setters are defined in the
......@@ -345,8 +345,8 @@ are their own setter:
</td></tr>
</tbody></table><a name="Conditionals"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="Conditionals"><font color="#000000">2.4 Conditionals</font></h3></table>
<a name="--index-entry-1527"></a><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="if"></a><a name="--index-entry-1533"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<a name="--index-entry-1490"></a><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="if"></a><a name="--index-entry-1496"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(if &lt;test&gt; &lt;consequent&gt; &lt;alternate&gt;)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(if &lt;test&gt; &lt;consequent&gt;)</font></strong></code><br /><br />An <code>if</code> expression is evaluated as follows: first, <code>&lt;test&gt;</code> is
......@@ -366,7 +366,7 @@ expression is <em>void</em>.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="cond"></a><a name="--index-entry-1581"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="cond"></a><a name="--index-entry-1544"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(cond &lt;clause1&gt; &lt;clause2&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<br />In a <code>cond</code>, each <code>&lt;clause&gt;</code> should be of the form
......@@ -427,7 +427,7 @@ one is(are) returned.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="case"></a><a name="--index-entry-1675"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="case"></a><a name="--index-entry-1638"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(case &lt;key&gt; &lt;clause1&gt; &lt;clause2&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<br />In a <code>case</code>, each <code>&lt;clause&gt;</code> should have the form
......@@ -474,7 +474,7 @@ case expression; otherwise the result of the case expression is <em>void</em>.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="and"></a><a name="--index-entry-1748"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="and"></a><a name="--index-entry-1711"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(and &lt;test1&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<br />The <code>&lt;test&gt;</code> expressions are evaluated from left to right, and the
......@@ -492,7 +492,7 @@ is returned. If there are no expressions then <code>#t</code> is returned.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="or"></a><a name="--index-entry-1785"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="or"></a><a name="--index-entry-1748"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(or &lt;test1&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<br />The <code>&lt;test&gt;</code> expressions are evaluated from left to right, and the
......@@ -511,14 +511,14 @@ is returned. If there are no expressions then <code>#f</code> is returned.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="when"></a><a name="--index-entry-1823"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="when"></a><a name="--index-entry-1786"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(when &lt;test&gt; &lt;expression1&gt; &lt;expression2&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> syntax</i></font></td></tr>
</tbody></table>
<br />If the <code>&lt;test&gt;</code> expression yields a true value, the <code>&lt;expression&gt;</code>s are
evaluated from left to right and the value of the last <code>&lt;expression&gt;</code> is
returned. Otherwise, <code>when</code> returns <em>void</em>.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="unless"></a><a name="--index-entry-1846"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="unless"></a><a name="--index-entry-1809"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(unless &lt;test&gt; &lt;expression1&gt; &lt;expression2&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> syntax</i></font></td></tr>
</tbody></table>
<br />If the <code>&lt;test&gt;</code> expression yields a false value, the <code>&lt;expression&gt;</code>s are
......@@ -526,7 +526,7 @@ evaluated from left to right and the value of the last <code>&lt;expression&gt;<
returned. Otherwise, <code>unless</code> returns <em>void</em>.</td></tr>
</tbody></table><a name="Binding-Constructs"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="Binding-Constructs"><font color="#000000">2.5 Binding Constructs</font></h3></table>
<a name="--index-entry-1870"></a>The three binding constructs <code>let</code>, <code>let*</code>, and
<a name="--index-entry-1833"></a>The three binding constructs <code>let</code>, <code>let*</code>, and
<code>letrec</code> are available in STklos.
These constructs differ in the regions they establish for
their variable bindings. In a <code>let</code> expression, the initial values are
......@@ -536,7 +536,7 @@ expression, the bindings and evaluations are performed sequentially; while in a
values are being computed, thus allowing mutually recursive definitions.
<br />
<span style="font-variant: small-caps">STklos</span> also provides a <code>fluid-let</code> form which is described below.<br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="let"></a><a name="--index-entry-1885"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="let"></a><a name="--index-entry-1848"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(let &lt;bindings&gt; &lt;body&gt;)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(let &lt;variable&gt; &lt;bindings&gt; &lt;body&gt;)</font></strong></code><br /><br />In a <code>let</code>, <code>&lt;bindings&gt;</code> should have the form
......@@ -596,7 +596,7 @@ named by <code>&lt;variable&gt;</code>.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="let-"></a><a name="--index-entry-1974"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="let-"></a><a name="--index-entry-1937"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(let* &lt;bindings&gt; &lt;body&gt;)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<br />In a <code>let*</code>, <code>&lt;bindings&gt;</code> should have the same form as in a <code>let</code> (however, a
......@@ -622,7 +622,7 @@ visible, and so on.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="letrec"></a><a name="--index-entry-2019"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="letrec"></a><a name="--index-entry-1982"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(letrec &lt;bindings&gt; &lt;body&gt;)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<br />&lt;bindings&gt; should have the form as in <code>let</code>.
......@@ -651,7 +651,7 @@ mutually recursive procedures.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="fluid-let"></a><a name="--index-entry-2068"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="fluid-let"></a><a name="--index-entry-2031"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(fluid-let &lt;bindings&gt; &lt;body&gt;)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> syntax</i></font></td></tr>
</tbody></table>
<br />The <code>&lt;bindings&gt;</code> are evaluated in the current environment, in some
......@@ -695,7 +695,7 @@ this behavior
</tbody></table><a name="Sequencing"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="Sequencing"><font color="#000000">2.6 Sequencing</font></h3></table>
<br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="begin"></a><a name="--index-entry-2132"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="begin"></a><a name="--index-entry-2095"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(begin &lt;expression1&gt; &lt;expression2&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<br />The <code>&lt;expression&gt;</code>s are evaluated sequentially from left to right, and the
......@@ -717,7 +717,7 @@ used to sequence side effects such as input and output.
</tbody></table><a name="Iterations"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="Iterations"><font color="#000000">2.7 Iterations</font></h3></table>
<br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="do"></a><a name="--index-entry-2179"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="do"></a><a name="--index-entry-2142"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(do [[&lt;var1&gt; &lt;init1&gt; &lt;step1&gt;] ...] [&lt;test&gt; &lt;expr&gt; ...] &lt;command&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">R<sup>5</sup>RS</span> syntax</i></font></td></tr>
</tbody></table>
<br /><code>Do</code> is an iteration construct. It specifies a set of variables to be
......@@ -769,7 +769,7 @@ had been written.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="dotimes"></a><a name="--index-entry-2253"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="dotimes"></a><a name="--index-entry-2216"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(dotimes [var count] &lt;expression1&gt; &lt;expression2&gt; ... )</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> syntax</i></font></td></tr>
</tbody></table>
<code><strong><font color="IndianRed">(dotimes [var count result] &lt;expression1&gt; &lt;expression2&gt; ... )</font></strong></code><br /><br />Evaluates the <code>count</code> expression, which must return an
......@@ -788,21 +788,21 @@ value is returned as the value of the <code>dotimes</code> construction. If
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="while"></a><a name="--index-entry-2298"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="while"></a><a name="--index-entry-2261"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(while &lt;test&gt; &lt;expression1&gt; &lt;expression2&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> syntax</i></font></td></tr>
</tbody></table>
<br /><code>While</code> evaluates the <code>&lt;expression&gt;</code>s until <code>&lt;test&gt;</code> returns a false
value. The value returned by this form is <em>void</em>.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="until"></a><a name="--index-entry-2320"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="until"></a><a name="--index-entry-2283"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(until &lt;test&gt; &lt;expression1&gt; &lt;expression2&gt; ...)</font></strong></code></td><td align="right"><font color="darkolivegreen"><i><span style="font-variant: small-caps">STklos</span> syntax</i></font></td></tr>
</tbody></table>
<br /><code>Until</code> evaluates the <code>&lt;expression&gt;</code>s until <code>&lt;while&gt;</code> returns a false
value. The value returned by this form is <em>void</em>.</td></tr>
</tbody></table><a name="Delayed-Evaluation"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="Delayed-Evaluation"><font color="#000000">2.8 Delayed Evaluation</font></h3></table>
<a name="--index-entry-2343"></a><a name="--index-entry-2347"></a><a name="--index-entry-2351"></a><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="delay"></a><a name="--index-entry-2357"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<a name="--index-entry-2306"></a><a name="--index-entry-2310"></a><a name="--index-entry-2314"></a><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="delay"></a><a name="--index-entry-2320"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(delay &lt;expression&gt;</