forked from Pylipala/racket-hack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathr5rs-Z-H-11.html
112 lines (109 loc) · 3.45 KB
/
r5rs-Z-H-11.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<!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 4p4,
(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>
<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></p>
<a name="%_chap_Temp_6"></a>
<h1 class=chapter>
<div class=chapterheading> </div><br>
<a href="r5rs-Z-H-2.html#%_toc_%_chap_Temp_6">Notes</a></h1>
<p>
</p>
<p></p>
<p></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>
<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#cite{R4RS}">6</a>] was published.</p>
<p>
</p>
<ul>
<p>
</p>
<li>
<p>The report is now a superset of the IEEE standard for Scheme
[<a href="r5rs-Z-H-14.html#cite{IEEEScheme}">13</a>]: implementations that conform to the report will
also conform to the standard. This required the following changes:
</p>
<ul>
<p>
</p>
<li>
<p>The empty list is now required to count as true.</p>
<p>
</p>
<li>
<p>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>
<p>
</p>
<li>
<p>Programs are allowed to redefine built-in procedures. Doing so
will not change the behavior of other built-in procedures.
</p>
</ul>
<p></p>
<p>
</p>
<li>
<p><em>Port</em> has been added to the list of disjoint types.</p>
<p>
</p>
<li>
<p>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>
<p>
</p>
<li>
<p><tt>Syntax-rules</tt> now allows vector patterns.</p>
<p>
</p>
<li>
<p>Multiple-value returns, <tt>eval</tt>, and <tt>dynamic-wind</tt> have
been added.</p>
<p>
</p>
<li>
<p>The calls that are required to be implemented in a properly tail-recursive
fashion are defined explicitly.</p>
<p>
</p>
<li>
<p>`<tt>@</tt>' can be used within identifiers. `<tt><code class=verbatim>|</code></tt>' is reserved
for possible future extensions.</p>
<p>
</p>
</ul>
<p></p>
<p>
</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></p>
</body>
</html>