86 lines
3.3 KiB
HTML
86 lines
3.3 KiB
HTML
|
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||
|
<html>
|
||
|
<!-- Generated from TeX source by tex2page, v 4o4,
|
||
|
(c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page -->
|
||
|
<head>
|
||
|
<title>
|
||
|
Revised^5 Report on the Algorithmic Language Scheme
|
||
|
</title>
|
||
|
<link rel="stylesheet" type="text/css" href="r5rs-Z-C.css" title=default>
|
||
|
<meta name=robots content="noindex,follow">
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<p><div class=navigation>[Go to <span><a href="r5rs.html">first</a>, <a href="r5rs-Z-H-10.html">previous</a></span><span>, <a href="r5rs-Z-H-12.html">next</a></span> page<span>; </span><span><a href="r5rs-Z-H-2.html#%_toc_start">contents</a></span><span><span>; </span><a href="r5rs-Z-H-15.html#%_index_start">index</a></span>]</div><p>
|
||
|
|
||
|
<a name="%_chap_Temp_6"></a>
|
||
|
<h1 class=chapter>
|
||
|
<div class=chapterheading> </div><p>
|
||
|
<a href="r5rs-Z-H-2.html#%_toc_%_chap_Temp_6">Notes</a></h1><p>
|
||
|
|
||
|
|
||
|
<p><p><p>
|
||
|
|
||
|
<p>
|
||
|
|
||
|
<a name="%_sec_Temp_7"></a>
|
||
|
<h3><a href="r5rs-Z-H-2.html#%_toc_%_sec_Temp_7">Language changes</a></h3><p>
|
||
|
|
||
|
<p>
|
||
|
|
||
|
This section enumerates the changes that have been made to Scheme since
|
||
|
the ``Revised<sup>4</sup> report'' [<a href="r5rs-Z-H-14.html#%_sec_7.3">6</a>] was published.<p>
|
||
|
|
||
|
<p><ul><p>
|
||
|
|
||
|
<li>The report is now a superset of the IEEE standard for Scheme
|
||
|
[<a href="r5rs-Z-H-14.html#%_sec_7.3">13</a>]: implementations that conform to the report will
|
||
|
also conform to the standard. This required the following changes:
|
||
|
<p><ul><p>
|
||
|
|
||
|
<li>The empty list is now required to count as true.<p>
|
||
|
|
||
|
<li>The classification of features as essential or inessential has been
|
||
|
removed. There are now three classes of built-in procedures: primitive,
|
||
|
library, and optional. The optional procedures are <tt>load</tt>,
|
||
|
<tt>with-input-from-file</tt>, <tt>with-output-to-file</tt>,
|
||
|
<tt>transcript-on</tt>, <tt>transcript-off</tt>, and
|
||
|
<tt>interaction-environment</tt>,
|
||
|
and <tt>-</tt> and <tt>/</tt> with more than two arguments.
|
||
|
None of these are in the IEEE standard.<p>
|
||
|
|
||
|
<li>Programs are allowed to redefine built-in procedures. Doing so
|
||
|
will not change the behavior of other built-in procedures.
|
||
|
</ul><p><p>
|
||
|
|
||
|
<li><em>Port</em> has been added to the list of disjoint types.<p>
|
||
|
|
||
|
<li>The macro appendix has been removed. High-level macros are now part
|
||
|
of the main body of the report. The rewrite rules for derived expressions
|
||
|
have been replaced with macro definitions. There are no reserved identifiers.<p>
|
||
|
|
||
|
<li><tt>Syntax-rules</tt> now allows vector patterns.<p>
|
||
|
|
||
|
<li>Multiple-value returns, <tt>eval</tt>, and <tt>dynamic-wind</tt> have
|
||
|
been added.<p>
|
||
|
|
||
|
<li>The calls that are required to be implemented in a properly tail-recursive
|
||
|
fashion are defined explicitly.<p>
|
||
|
|
||
|
<li>`<tt>@</tt>' can be used within identifiers. `<tt><code class=verbatim>|</code></tt>' is reserved
|
||
|
for possible future extensions.<p>
|
||
|
|
||
|
</ul><p><p>
|
||
|
|
||
|
|
||
|
|
||
|
<p>
|
||
|
|
||
|
|
||
|
<p>
|
||
|
|
||
|
<p><div class=navigation>[Go to <span><a href="r5rs.html">first</a>, <a href="r5rs-Z-H-10.html">previous</a></span><span>, <a href="r5rs-Z-H-12.html">next</a></span> page<span>; </span><span><a href="r5rs-Z-H-2.html#%_toc_start">contents</a></span><span><span>; </span><a href="r5rs-Z-H-15.html#%_index_start">index</a></span>]</div><p>
|
||
|
|
||
|
</body>
|
||
|
</html>
|