Commit 9538175c authored by Erick Gallesio's avatar Erick Gallesio

Commit version stklos-0.82

parent daf0b2f4
2006-12-19 Erick Gallesio <eg@essi.fr>
* PACKAGES-USED, lib/Lalr.d/documentation/doc.css,
lib/Lalr.d/documentation/lalr-1.html,
lib/Lalr.d/documentation/lalr-2.html,
lib/Lalr.d/documentation/lalr-3.html,
lib/Lalr.d/documentation/lalr-4.html,
lib/Lalr.d/documentation/lalr-5.html,
lib/Lalr.d/documentation/lalr.html, lib/Lalr.d/lalr.stk:
Upgraded Lalr package to 2.1.4
[8699ff13953c] [tip]
* TODO, lib/Makefile.am, lib/Makefile.in, lib/boot.stk, lib/env.stk,
lib/module.stk, lib/object.stk, src/boot.c, src/boot.img, src/env.c:
- Added the null-environment and scheme-report-environment
procedures => The eval procedure is now correct.
- The Scheme module has been added. It contains a copy of all the
bindings defined when STklos starts. A library module can now
import this module to be sure to find the original bindings, and
prevent problems due to user redefinitions of standard symbols
[6a01935a2ada]
2006-12-18 Erick Gallesio <eg@essi.fr>
* lib/compiler.stk, lib/describe.stk, lib/load.stk, src/boot.c,
src/boot.img:
New parameter compiler:inline-common-functions No more inlining if a
function has been redefined by the user (only works if the symbol is
in the STklos module).
[969edddd8487]
2006-12-13 Erick Gallesio <eg@essi.fr>
* lib/module.stk, src/boot.c, src/boot.img, src/env.c:
Avoid that a module import itself
[f09da1d6bf1d]
* lib/compiler.stk, lib/load.stk, src/boot.c, src/boot.img:
added REQUIRE-FOR-SYNTAX (first version)
[e5899f362719]
2006-12-06 eg <eg@saxo.polytech.unice.fr>
* ChangeLog:
Preparing version stklos-0.82-beta2
[788f16b21de6]
2006-12-05 Erick Gallesio <eg@essi.fr>
* doc/stklos-compile.1.in, lib/make-C-boot.stk, src/boot.c, utils
......@@ -41,7 +88,7 @@
* configure, configure.in, lib/Lalr.d/Makefile.in, lib/Makefile.am,
lib/Makefile.in, lib/boot-callcc.stk.in, lib/boot.stk,
lib/boot.stk.in, src/boot.c:
Moved the configure dependency form boot.stk.in to the new file
Moved the configure dependency from boot.stk.in to the new file
boot-callcc.stk.in
[10e9541aa35c]
......
......@@ -4,6 +4,23 @@
| NEWS |
+======+
* version 0.82 (2006 12 19)
* Added the --debug option to the interpreter
* Better error messages when in debug mode and more correct line numbers
* Updated Dominique Boucher lalr parser to the latest version
* Better error messages for POSIX functions
* Internal macro definition are allowed now
* New parameters for controlling compilation
* New primitives
o null-environment
o scheme-report-environment
o interaction-environment
o directory-files
o make-directory
o delete-directory
* Bug fixes
* version 0.81 (2006 11 06)
This is a bug-fix version. Previous release had a bug which prevent to
......
-*- outline -*-
S T k l o s ( v e r s i o n 0 . 8 1 )
S T k l o s ( v e r s i o n 0 . 8 2 )
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Erick Gallesio
......@@ -44,15 +44,6 @@ should be easy to port old STk graphical applications (provided that
they use objects). The GTK+ extension can be loaded at run time and
does not require a special interpreter as it was the case with STk.
* TO DO
The current release of STklos is a preliminary version and a lot of
things remain to do. In particular, I will try to finish first complete
compliance to R5RS, and finish to port good things of STk to STklos
(things like FFI for instance).
Look at the file TODO in the source distribution for more information.
* SRFI Support
Current version of STklos supports some SRFIs (a complete list of
......
......@@ -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-29858">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-41280">*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-4154">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-4859">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>
......@@ -40,9 +40,9 @@
</tbody></table>
</td>
<td align="left" valign="top">
<a name="-section-4154"></a>
<a name="-section-4859"></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-4110"></a><a name="--index-entry-4115"></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-4815"></a><a name="--index-entry-4820"></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-14.html#Gallesio95-1a">6</a>], a Scheme interpreter which was tightly
connected to the Tk graphical toolkit [<a href="stklos-ref-14.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
......@@ -52,7 +52,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-4138"></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-4843"></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
......@@ -66,13 +66,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-4157"></a><p>In <span style="font-variant: small-caps">STklos</span>, identifiers which start (or end) with a colon
<a name="--index-entry-4862"></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-4175"></a><a name="--index-entry-4179"></a><a name="--index-entry-4183"></a><a name="--index-entry-4187"></a><a name="--index-entry-4191"></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-4880"></a><a name="--index-entry-4884"></a><a name="--index-entry-4888"></a><a name="--index-entry-4892"></a><a name="--index-entry-4896"></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:
......@@ -135,6 +135,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>Mon Nov 6 17:31:11 2006</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Dec 19 15:25:36 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-29858">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-41280">*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>
......@@ -36,7 +36,7 @@
<p><span style="font-variant: small-caps">STklos</span> environement can be customized using
<a href="stklos-ref-4.html#Parameter-Objects">parameters objects</a>. These
parmaters are listed below.</p><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="real-precision"></a><a name="--index-entry-28583"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="real-precision"></a><a name="--index-entry-39599"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(real-precision)</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>
<code><strong><font color="IndianRed">(real-precision value)</font></strong></code><br /><br />This parameter object permits to change the default precision used
......@@ -51,7 +51,7 @@ to print real numbers.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="read-case-sensitive"></a><a name="--index-entry-28625"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="read-case-sensitive"></a><a name="--index-entry-39650"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(read-case-sensitive)</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>
<code><strong><font color="IndianRed">(read-case-sensitive value)</font></strong></code><br /><br />This parameter object permits to change the default behaviour of
......@@ -75,7 +75,7 @@ with the <code>--case-sensitive</code> option.
<strong>Note:</strong> See also syntax for <a href="stklos-ref-4.html#bar-in-symbol">special characters</a> in symbols.
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-path"></a><a name="--index-entry-28684"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-path"></a><a name="--index-entry-39736"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(load-path)</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>
<code><strong><font color="IndianRed">(load-path value)</font></strong></code><br /><br /><code>load-path</code> is a parameter object. It
......@@ -92,7 +92,7 @@ setting the <code>STKLOS_LOAD_PATH</code> shell variable.
Giving a <code>value</code> to the parameter <code>load-path</code> permits to change the
current list of paths.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-suffixes"></a><a name="--index-entry-28724"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-suffixes"></a><a name="--index-entry-39801"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(load-suffixes)</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>
<code><strong><font color="IndianRed">(load-suffixes value)</font></strong></code><br /><br /><code>load-suffixes</code> is a parameter object. It
......@@ -101,7 +101,7 @@ must be a string. Suffixes are appended (in their apparition order)
to a file name is appended to a file name given to <code>load</code> or <code>try-load</code>
until the file can be loaded. </td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-verbose"></a><a name="--index-entry-28752"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="load-verbose"></a><a name="--index-entry-39839"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(load-verbose)</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>
<code><strong><font color="IndianRed">(load-verbose value)</font></strong></code><br /><br /><code>load-verbose</code> is a parameter object. It permits to display the
......@@ -110,6 +110,6 @@ the current error port, when set to a true value. If <code>load-verbose</code>
is set to <code>#f</code>, no message is printed.</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>Mon Nov 6 17:31:15 2006</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Dec 19 15:25:38 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-29858">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-41280">*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>
......@@ -33,7 +33,7 @@
</tbody></table>
</td>
<td align="left" valign="top">
<a name="--index-entry-28804"></a><a name="--index-entry-28808"></a><p>Aubrey Jaffer maintains a package called
<a name="--index-entry-39933"></a><a name="--index-entry-39937"></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
......@@ -50,6 +50,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>Mon Nov 6 17:31:15 2006</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Dec 19 15:25:38 2006</em></small>
</body>
</html>
This diff is collapsed.
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-29858">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-41280">*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>
......@@ -36,6 +36,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>Mon Nov 6 17:31:16 2006</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Dec 19 15:25:39 2006</em></small>
</body>
</html>
This diff is collapsed.
This diff is collapsed.
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-29858">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-41280">*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>
......@@ -54,7 +54,7 @@
</tbody></table>
</td>
<td align="left" valign="top">
<a name="--index-entry-24004"></a><p><span style="font-variant: small-caps">STklos</span> uses the Philip Hazel's Perl-compatible Regular Expression
<a name="--index-entry-33460"></a><p><span style="font-variant: small-caps">STklos</span> uses the Philip Hazel's Perl-compatible Regular Expression
(PCRE) library for implementing regexps [<a href="stklos-ref-14.html#PCRE">13</a>].
Consequently, the <span style="font-variant: small-caps">STklos</span> regular expression syntax is the same
as PCRE, and Perl by the way.</p><p>The following text is extracted from the PCRE package. However, to make
......@@ -62,7 +62,7 @@ things shorter, some of the original documentation as not been reported
here. In particular some possibilities of PCRE have been completely
occulted (those whose description was too long and which seems (at least
to me), not too important). Read the documentation provided with PCRE
for a complete description <a href="#fn--footnote-24017"><sup><small>1</small></sup></a></p><p>A regular expression is a pattern that is matched against a
for a complete description <a href="#fn--footnote-33473"><sup><small>1</small></sup></a></p><p>A regular expression is a pattern that is matched against a
subject string from left to right. Most characters stand for
themselves in a pattern, and match the corresponding characters
in the subject. As a trivial example, the pattern</p><blockquote><table cellspacing="0" cellpadding="4" width="90%"><tbody>
......@@ -399,8 +399,8 @@ parentheses, it would match &quot;cataract&quot;, &quot;erpillar&quot; or the em
<li>It sets up the subpattern as a capturing subpattern (as
defined above). When the whole pattern matches, that portion of
the subject string that matched the subpattern is set so that it
can be used in the <a href="stklos-ref-5.html#regexp-replace">???</a> or
<a href="stklos-ref-5.html#regexp-replace-all">???</a> functions. Opening parentheses
can be used in the <a href="stklos-ref-5.html#regexp-replace">regexp-replace</a> or
<a href="stklos-ref-5.html#regexp-replace-all">regexp-replace-all</a> functions. Opening parentheses
are counted from left to right (starting from 1) to obtain the
numbers of the capturing subpatterns.</li>
</ol><p>For example, if the string &quot;the red king&quot; is matched against the pattern</p><blockquote><table cellspacing="0" cellpadding="4" width="90%"><tbody>
......@@ -849,7 +849,7 @@ refer.</p><a name="Regexp-Procedures"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="Regexp-Procedures"><font color="#000000">5.17 Regexp Procedures</font></h3></table>
<p>This section lists the Scheme functions that can use PCRE regexpr described
before</p><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="string--regexp"></a><a name="--index-entry-24772"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="string--regexp"></a><a name="--index-entry-34228"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(string-&gt;regexp string)</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 /><code>String-&gt;regexp</code> takes a string representation of a regular
......@@ -860,13 +860,13 @@ multiple times, it is faster to compile the string once to a regexp
value and use it for repeated matches instead of using the string
each time. </td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-"></a><a name="--index-entry-24792"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-"></a><a name="--index-entry-34252"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(regexp? 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 /><code>Regexp</code> returns <code>#t</code> if <code>obj</code> is a regexp value created by the <code>regexp</code>,
otherwise <code>regexp</code> returns <code>#f</code>.</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-match-positions"></a><a name="regexp-match"></a><a name="--index-entry-24823"></a><a name="--index-entry-24827"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-match-positions"></a><a name="regexp-match"></a><a name="--index-entry-34302"></a><a name="--index-entry-34306"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(regexp-match pattern str)</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>
<code><strong><font color="IndianRed">(regexp-match-positions pattern str)</font></strong></code><br /><br />These functions attempt to match <code>pattern</code> (a string or a regexp value)
......@@ -900,7 +900,7 @@ in the order of the opening parentheses in pattern.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-replace-all"></a><a name="regexp-replace"></a><a name="--index-entry-24919"></a><a name="--index-entry-24923"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-replace-all"></a><a name="regexp-replace"></a><a name="--index-entry-34430"></a><a name="--index-entry-34434"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(regexp-replace pattern string substitution)</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>
<code><strong><font color="IndianRed">(regexp-replace-all pattern string substitution)</font></strong></code><br /><br /><code>Regexp-replace</code> matches the regular expression <code>pattern</code> against
......@@ -938,7 +938,7 @@ To replace <strong>all</strong> the occurrences of <code>pattern</code>, use <co
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-quote"></a><a name="--index-entry-25066"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="regexp-quote"></a><a name="--index-entry-34666"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(regexp-quote str)</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 />Takes an arbitrary string and returns a string where characters of
......@@ -953,11 +953,11 @@ backslash, so that they safely match only themselves.
<code>regexp-quote</code> is useful when building a composite regexp from
a mix of regexp strings and verbatim strings. </td></tr>
</tbody></table><br><br><hr width='20%' size='2' align='left'>
<a name="fn--footnote-24017"><sup><small>1</small></sup></a>: The latest release of PCRE is
<a name="fn--footnote-33473"><sup><small>1</small></sup></a>: The latest release of PCRE is
available from <a href="http://www.pcre.org/">http://www.pcre.org/</a>
<br>
</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>Mon Nov 6 17:31:13 2006</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Dec 19 15:25:37 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-29858">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-41280">*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>
......@@ -23,7 +23,7 @@
<tr class="navnorm"><td width="8%" align="left" valign="top">5&nbsp;</td><td align="left"><a href="stklos-ref-5.html#Regular-Expressions">Regular Expressions</a></td></tr>
<tr class="navsel"><td width="8%" align="left" valign="top">6&nbsp;</td><td align="left"><a href="stklos-ref-6.html#Pattern-Matching">Pattern Matching</a><br /><table cellspacing="1" cellpadding="1" width="100%">
<tbody>
<tr><td valign="top" align="left">6.1</td><td colspan="4" width="100%"><a href="stklos-ref-6.html#-section-25358"><span style="font-variant: small-caps">STklos</span> Pattern Matching Facilities</td></tr>
<tr><td valign="top" align="left">6.1</td><td colspan="4" width="100%"><a href="stklos-ref-6.html#-section-35211"><span style="font-variant: small-caps">STklos</span> Pattern Matching Facilities</td></tr>
<tr><td valign="top" align="left">6.2</td><td colspan="4" width="100%"><a href="stklos-ref-6.html#The-Pattern-Language">The Pattern Language</td></tr>
</tbody>
</table>
......@@ -44,20 +44,20 @@ languages since it allows clean and secure code to be
written. Internally, "pattern-matching forms" should be translated
(compiled) into cascades of "elementary tests" where code is made as
efficient as possible, avoiding redundant tests; <span style="font-variant: small-caps">STklos</span>
"pattern matching compiler" provides this <a href="#fn--footnote-25232"><sup><small>1</small></sup></a>.</p><p>The technique used is described in details in
"pattern matching compiler" provides this <a href="#fn--footnote-35032"><sup><small>1</small></sup></a>.</p><p>The technique used is described in details in
[<a href="stklos-ref-14.html#Queinnec-Geffroy92">4</a>], and the code generated can be
considered optimal</p><p>The "pattern language" allows the expression of a wide variety
of patterns, including:</p><ul><li>Non-linear patterns: pattern variables can appear more than
once, allowing comparison of subparts of the datum (through <a href="stklos-ref-4.html#eq-">???</a>)</li>
once, allowing comparison of subparts of the datum (through <a href="stklos-ref-4.html#eq-">eq-</a>)</li>
<li>Recursive patterns on lists: for example, checking that the
datum is a list of zero or more <code>a</code>s followed by zero or more
<code>b</code>s.</li>
<li>Pattern matching on lists as well as on vectors.</li>
</ul><a name="-section-25358"></a>
</ul><a name="-section-35211"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3><font color="#000000">6.1 <span style="font-variant: small-caps">STklos</span> Pattern Matching Facilities</font></h3></table>
<p>Only two special forms are provided for this in <span style="font-variant: small-caps">STklos</span>: <code>match-case</code>
and <code>match-lambda</code>.</p><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="match-case"></a><a name="--index-entry-25255"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="match-case"></a><a name="--index-entry-35055"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(match-case &lt;key&gt; &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 />The argument key may be any expression and each clause has the form
......@@ -93,7 +93,7 @@ The equality predicate used for tests is <code>eq?</code>.
</tbody></table></blockquote>
</td></tr>
</tbody></table><br /><table cellspacing="0" cellpadding="0" width="100%"><tbody>
<tr><td bgcolor="#dddddd"><a name="match-lambda"></a><a name="--index-entry-25325"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td bgcolor="#dddddd"><a name="match-lambda"></a><a name="--index-entry-35167"></a><table width="100%" style="border-collapse: collapse;" frame="void" rules="none"><tbody>
<tr><td align="left"><code><strong><font color="IndianRed">(match-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 /><code>match-lambda</code> expands into a lambda-expression expecting an argument
......@@ -109,7 +109,7 @@ which, once applied to an expression, behaves exactly like a
</td></tr>
</tbody></table><a name="The-Pattern-Language"></a>
<table width="100%"><tr><td bgcolor="#E6F2E6"><h3 id="The-Pattern-Language"><font color="#000000">6.2 The Pattern Language</font></h3></table>
<a name="--index-entry-25361"></a><p>The syntax for <code>&lt;pattern&gt;</code> is:</p><blockquote><table cellspacing="0" cellpadding="4" width="90%"><tbody>
<a name="--index-entry-35214"></a><p>The syntax for <code>&lt;pattern&gt;</code> is:</p><blockquote><table cellspacing="0" cellpadding="4" width="90%"><tbody>
<tr><td bgcolor="#eee8bf"><pre>&lt;pattern&gt; ==&gt; <em>Matches:</em>
&lt;atom&gt; <em>the &lt;atom&gt;.</em>
......@@ -161,7 +161,7 @@ not appear inside a vector, where you should use <code>???-</code>:
For example, <code>#(a ??- b)</code> or <code>#(a...)</code> are invalid
patterns, whereas <code>#(a ???-)</code> is valid and matches any
vector whose first element is the atom <code>a</code>.</p><br><br><hr width='20%' size='2' align='left'>
<a name="fn--footnote-25232"><sup><small>1</small></sup></a>: The "pattern matching compiler" has been written by Jean-Marie Geffroy
<a name="fn--footnote-35032"><sup><small>1</small></sup></a>: The "pattern matching compiler" has been written by Jean-Marie Geffroy
and is part of the Manuel Serrano's Bigloo compiler [<a href="stklos-ref-14.html#Bigloo-home">1</a>]
since several years. The code (and documentation) included in <span style="font-variant: small-caps">STklos</span>
has been stolen from the Bigloo package v2.4 (the only difference
......@@ -170,6 +170,6 @@ vector whose first element is the atom <code>a</code>.</p><br><br><hr width='20%
<br>
</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>Mon Nov 6 17:31:14 2006</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Dec 19 15:25:37 2006</em></small>
</body>
</html>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -16,7 +16,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-29858">*Top*</a></td></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-41280">*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,13 +35,13 @@
</td>
<td align="left" valign="top">
<br /><br /><br />This document provides a complete list of procedures and special
forms implemented in version <strong>0.81</strong> of
forms implemented in version <strong>0.82</strong> of
<span style="font-variant: small-caps">STklos</span>. Since <span style="font-variant: small-caps">STklos</span> is (nearly) compliant with the
language described in the Revised<sup>5</sup> Report on the
Algorithmic Language Scheme (aka <span style="font-variant: small-caps">R<sup>5</sup>RS</span>) [<a href="stklos-ref-14.html#R5RS">12</a>],
the organization of this manual follows closely the one of this
document.<a name="--index-entry-28843"></a></td>
document.<a name="--index-entry-39973"></a></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>Mon Nov 6 17:31:16 2006</em></small>
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Tue Dec 19 15:25:39 2006</em></small>
</body>
</html>
No preview for this file type
......@@ -18,7 +18,7 @@
;; USA.
;; Author: Erick Gallesio [eg@unice.fr]
;; Creation date: 26-Nov-2000 18:19 (eg)
;; Last file update: 19-Nov-2006 22:26 (eg)
;; Last file update: 19-Dec-2006 12:10 (eg)
;;
;; ======================================================================
......@@ -387,6 +387,9 @@ to build and access the internals of a structure.])
(insertdoc 'dynamic-wind)
(insertdoc 'eval)
(insertdoc 'scheme-report-environment)
(insertdoc 'null-environment)
(insertdoc 'interaction-environment)
(insertdoc 'eval-from-string)
......@@ -496,7 +499,8 @@ be accessed as a normal port with the standard Scheme primitives.])
(index "SRFI-28")
(insertdoc 'format)
(insertdoc 'flush-output-port)
(insertdoc 'printerr))
(insertdoc 'printerr)
(insertdoc 'eprintf))
(subsection :title "System interface"
(index "STKLOS_LOAD_PATH")
......
......@@ -21,7 +21,7 @@
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 14-Jun-2000 17:24 (eg)
;;;; Last file update: 5-Dec-2006 11:41 (eg)
;;;; Last file update: 19-Dec-2006 12:20 (eg)
;;;;
;;
......@@ -964,7 +964,7 @@ doc>
* (fprintf port fmt obj ...)
* (eprintf fmt obj ...)
*
* These procedures are specialized version of |,(ref :mark "format")|.
* These procedures are specialized version of |,(ref :mark "format" "format")|.
* In these procedures, |fmt| is a string using the |format| conventions.
* |printf| outputs go on the current output port.
* |eprintf| outputs go on the current error port.
......
......@@ -21,7 +21,7 @@
;;;;
;;;; Author: Erick Gallesio [eg@essi.fr]
;;;; Creation date: 29-Nov-2006 22:33 (eg)
;;;; Last file update: 18-Dec-2006 21:35 (eg)
;;;; Last file update: 19-Dec-2006 12:13 (eg)
;;;;
......@@ -32,7 +32,8 @@
<doc interaction-environment
* (interaction-environment)
*
* TO DO
* This procedure returns the environment in the expression are
* evaluated by default (the ,(stklos) module).
doc>
|#
(define (interaction-environment)
......@@ -53,7 +54,12 @@ doc>
* (null-environment)
* (null-environment version)
*
* TO DO
* Returns a specifier for an environment that is empty except for
* the (syntactic) bindings for all syntactic keywords defined in
* the R5RS report.
* £
* ,(bold "Note"): In STklos, |null-environment| function can be called
* without the version number (defaults to 5).
doc>
|#
(define (null-environment :optional (version 5))
......@@ -301,7 +307,11 @@ doc>
* (scheme-report-environment)
* (scheme-report-environment version)
*
* TO DO
* Returns a specifier for an environment that contains the bindings defined
* in the R5RS report.
* £
* ,(bold "Note"): In STklos, |scheme-report-environment| function can be called
* without the version number (defaults to 5).
doc>
|#
(define (scheme-report-environment :optional (version 5))
......
......@@ -21,7 +21,7 @@
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 14-Jun-2000 12:27 (eg)
;;;; Last file update: 14-Apr-2006 19:54 (eg)
;;;; Last file update: 19-Dec-2006 11:53 (eg)
;;;;
......@@ -629,15 +629,28 @@ doc>
* (eval expression environment)
* (eval expression)
*
* Current form of STklos |eval| is not conform to R5RS.
* £
* ,(TODO "MUST BE CORRECTED FOR A NEXT RELEASE")
* Evaluates expression in the specified environment and returns its
* value. |Expression| must be a valid Scheme expression represented
* as data. |Environment| may be a R5RS environment-specifier
* (|interaction-environment|, |scheme-report-environment| or
* |null-environment|) or a ,(stklos) module.
* @lisp
* (eval '(* 7 3) (scheme-report-environment 5))
* => 21
* (let ((f (eval '(lambda (f x) (f x x))
* (null-environment 5))))
* (f + 10))
* => 20
* (define-module A
* (define x 1))
* (eval '(cons x x) (find-module 'A))
* => (1 . 1)
* @end lisp
doc>
|#
#|
<doc caar cdar cadr cddr caaar cdaar cadar cddar caadr cdadr caddr cdddr caaaar cdaaar cadaar cddaar caadar cdadar caddar cdddar caaadr cdaadr cadadr cddadr caaddr cdaddr cadddr cddddr
* (caar pair)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment