183 lines
11 KiB
HTML
183 lines
11 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">
|
|
<style type="text/css">
|
|
body {
|
|
margin:1em;
|
|
padding:0;
|
|
}
|
|
ol,
|
|
ol ol,
|
|
ol ol ol,
|
|
ol ol ol ol {
|
|
list-style: decimal inside;
|
|
list-style: none;
|
|
}
|
|
ul {
|
|
list-style: none;
|
|
}
|
|
ol,
|
|
ul {
|
|
padding:0;
|
|
margin:0;
|
|
font-size: 12pt;
|
|
}
|
|
ul ul,
|
|
ol ol {
|
|
padding-left: 0.5em;
|
|
font-size: 11pt;
|
|
}
|
|
ol ol ol,
|
|
ul ul ul {
|
|
font-size: 10pt;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
<body style="overflow-x:hidden">
|
|
<h1>R5RS</h1>
|
|
|
|
<ul>
|
|
<li><a target="right" name="%_toc_%_chap_Temp_1" href="r5rs-Z-H-1.html#%_chap_Temp_1">Summary</a>
|
|
<li><a target="right" name="%_toc_%_chap_Temp_3" href="r5rs-Z-H-3.html#%_chap_Temp_3">Introduction</a>
|
|
<ul>
|
|
<li><a target="right" name="%_toc_%_sec_Temp_4" href="r5rs-Z-H-3.html#%_sec_Temp_4">Background</a>
|
|
<li><a target="right" name="%_toc_%_sec_Temp_5" href="r5rs-Z-H-3.html#%_sec_Temp_5">Acknowledgements</a>
|
|
</ul>
|
|
</ul>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_chap_1" href="r5rs-Z-H-4.html#%_chap_1">1 Overview of Scheme</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_1.1" href="r5rs-Z-H-4.html#%_sec_1.1">1.1 Semantics</a>
|
|
<li><a target="right" name="%_toc_%_sec_1.2" href="r5rs-Z-H-4.html#%_sec_1.2">1.2 Syntax</a>
|
|
<li><a target="right" name="%_toc_%_sec_1.3" href="r5rs-Z-H-4.html#%_sec_1.3">1.3 Notation and terminology</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_1.3.1" href="r5rs-Z-H-4.html#%_sec_1.3.1">1.3.1 Primitive, library, and optional features</a>
|
|
<li><a target="right" name="%_toc_%_sec_1.3.2" href="r5rs-Z-H-4.html#%_sec_1.3.2">1.3.2 Error situations and unspecified behavior</a>
|
|
<li><a target="right" name="%_toc_%_sec_1.3.3" href="r5rs-Z-H-4.html#%_sec_1.3.3">1.3.3 Entry format</a>
|
|
<li><a target="right" name="%_toc_%_sec_1.3.4" href="r5rs-Z-H-4.html#%_sec_1.3.4">1.3.4 Evaluation examples</a>
|
|
<li><a target="right" name="%_toc_%_sec_1.3.5" href="r5rs-Z-H-4.html#%_sec_1.3.5">1.3.5 Naming conventions</a>
|
|
</ol>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_chap_2" href="r5rs-Z-H-5.html#%_chap_2">2 Lexical conventions</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_2.1" href="r5rs-Z-H-5.html#%_sec_2.1">2.1 Identifiers</a>
|
|
<li><a target="right" name="%_toc_%_sec_2.2" href="r5rs-Z-H-5.html#%_sec_2.2">2.2 Whitespace and comments</a>
|
|
<li><a target="right" name="%_toc_%_sec_2.3" href="r5rs-Z-H-5.html#%_sec_2.3">2.3 Other notations</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_chap_3" href="r5rs-Z-H-6.html#%_chap_3">3 Basic concepts</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_3.1" href="r5rs-Z-H-6.html#%_sec_3.1">3.1 Variables, syntactic keywords, and regions</a>
|
|
<li><a target="right" name="%_toc_%_sec_3.2" href="r5rs-Z-H-6.html#%_sec_3.2">3.2 Disjointness of types</a>
|
|
<li><a target="right" name="%_toc_%_sec_3.3" href="r5rs-Z-H-6.html#%_sec_3.3">3.3 External representations</a>
|
|
<li><a target="right" name="%_toc_%_sec_3.4" href="r5rs-Z-H-6.html#%_sec_3.4">3.4 Storage model</a>
|
|
<li><a target="right" name="%_toc_%_sec_3.5" href="r5rs-Z-H-6.html#%_sec_3.5">3.5 Proper tail recursion</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_chap_4" href="r5rs-Z-H-7.html#%_chap_4">4 Expressions</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_4.1" href="r5rs-Z-H-7.html#%_sec_4.1">4.1 Primitive expression types</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_4.1.1" href="r5rs-Z-H-7.html#%_sec_4.1.1">4.1.1 Variable references</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.1.2" href="r5rs-Z-H-7.html#%_sec_4.1.2">4.1.2 Literal expressions</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.1.3" href="r5rs-Z-H-7.html#%_sec_4.1.3">4.1.3 Procedure calls</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.1.4" href="r5rs-Z-H-7.html#%_sec_4.1.4">4.1.4 Procedures</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.1.5" href="r5rs-Z-H-7.html#%_sec_4.1.5">4.1.5 Conditionals</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.1.6" href="r5rs-Z-H-7.html#%_sec_4.1.6">4.1.6 Assignments</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_sec_4.2" href="r5rs-Z-H-7.html#%_sec_4.2">4.2 Derived expression types</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_4.2.1" href="r5rs-Z-H-7.html#%_sec_4.2.1">4.2.1 Conditionals</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.2.2" href="r5rs-Z-H-7.html#%_sec_4.2.2">4.2.2 Binding constructs</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.2.3" href="r5rs-Z-H-7.html#%_sec_4.2.3">4.2.3 Sequencing</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.2.4" href="r5rs-Z-H-7.html#%_sec_4.2.4">4.2.4 Iteration</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.2.5" href="r5rs-Z-H-7.html#%_sec_4.2.5">4.2.5 Delayed evaluation</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.2.6" href="r5rs-Z-H-7.html#%_sec_4.2.6">4.2.6 Quasiquotation</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_sec_4.3" href="r5rs-Z-H-7.html#%_sec_4.3">4.3 Macros</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_4.3.1" href="r5rs-Z-H-7.html#%_sec_4.3.1">4.3.1 Binding constructs for syntactic keywords</a>
|
|
<li><a target="right" name="%_toc_%_sec_4.3.2" href="r5rs-Z-H-7.html#%_sec_4.3.2">4.3.2 Pattern language</a>
|
|
</ol>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_chap_5" href="r5rs-Z-H-8.html#%_chap_5">5 Program structure</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_5.1" href="r5rs-Z-H-8.html#%_sec_5.1">5.1 Programs</a>
|
|
<li><a target="right" name="%_toc_%_sec_5.2" href="r5rs-Z-H-8.html#%_sec_5.2">5.2 Definitions</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_5.2.1" href="r5rs-Z-H-8.html#%_sec_5.2.1">5.2.1 Top level definitions</a>
|
|
<li><a target="right" name="%_toc_%_sec_5.2.2" href="r5rs-Z-H-8.html#%_sec_5.2.2">5.2.2 Internal definitions</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_sec_5.3" href="r5rs-Z-H-8.html#%_sec_5.3">5.3 Syntax definitions</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_chap_6" href="r5rs-Z-H-9.html#%_chap_6">6 Standard procedures</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_6.1" href="r5rs-Z-H-9.html#%_sec_6.1">6.1 Equivalence predicates</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.2" href="r5rs-Z-H-9.html#%_sec_6.2">6.2 Numbers</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_6.2.1" href="r5rs-Z-H-9.html#%_sec_6.2.1">6.2.1 Numerical types</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.2.2" href="r5rs-Z-H-9.html#%_sec_6.2.2">6.2.2 Exactness</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.2.3" href="r5rs-Z-H-9.html#%_sec_6.2.3">6.2.3 Implementation restrictions</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.2.4" href="r5rs-Z-H-9.html#%_sec_6.2.4">6.2.4 Syntax of numerical constants</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.2.5" href="r5rs-Z-H-9.html#%_sec_6.2.5">6.2.5 Numerical operations</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.2.6" href="r5rs-Z-H-9.html#%_sec_6.2.6">6.2.6 Numerical input and output</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_sec_6.3" href="r5rs-Z-H-9.html#%_sec_6.3">6.3 Other data types</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_6.3.1" href="r5rs-Z-H-9.html#%_sec_6.3.1">6.3.1 Booleans</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.3.2" href="r5rs-Z-H-9.html#%_sec_6.3.2">6.3.2 Pairs and lists</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.3.3" href="r5rs-Z-H-9.html#%_sec_6.3.3">6.3.3 Symbols</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.3.4" href="r5rs-Z-H-9.html#%_sec_6.3.4">6.3.4 Characters</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.3.5" href="r5rs-Z-H-9.html#%_sec_6.3.5">6.3.5 Strings</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.3.6" href="r5rs-Z-H-9.html#%_sec_6.3.6">6.3.6 Vectors</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_sec_6.4" href="r5rs-Z-H-9.html#%_sec_6.4">6.4 Control features</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.5" href="r5rs-Z-H-9.html#%_sec_6.5">6.5 <tt>Eval</tt></a>
|
|
<li><a target="right" name="%_toc_%_sec_6.6" href="r5rs-Z-H-9.html#%_sec_6.6">6.6 Input and output</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_6.6.1" href="r5rs-Z-H-9.html#%_sec_6.6.1">6.6.1 Ports</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.6.2" href="r5rs-Z-H-9.html#%_sec_6.6.2">6.6.2 Input</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.6.3" href="r5rs-Z-H-9.html#%_sec_6.6.3">6.6.3 Output</a>
|
|
<li><a target="right" name="%_toc_%_sec_6.6.4" href="r5rs-Z-H-9.html#%_sec_6.6.4">6.6.4 System interface</a>
|
|
</ol>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_chap_7" href="r5rs-Z-H-10.html#%_chap_7">7 Formal syntax and semantics</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_7.1" href="r5rs-Z-H-10.html#%_sec_7.1">7.1 Formal syntax</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_7.1.1" href="r5rs-Z-H-10.html#%_sec_7.1.1">7.1.1 Lexical structure</a>
|
|
<li><a target="right" name="%_toc_%_sec_7.1.2" href="r5rs-Z-H-10.html#%_sec_7.1.2">7.1.2 External representations</a>
|
|
<li><a target="right" name="%_toc_%_sec_7.1.3" href="r5rs-Z-H-10.html#%_sec_7.1.3">7.1.3 Expressions</a>
|
|
<li><a target="right" name="%_toc_%_sec_7.1.4" href="r5rs-Z-H-10.html#%_sec_7.1.4">7.1.4 Quasiquotations</a>
|
|
<li><a target="right" name="%_toc_%_sec_7.1.5" href="r5rs-Z-H-10.html#%_sec_7.1.5">7.1.5 Transformers</a>
|
|
<li><a target="right" name="%_toc_%_sec_7.1.6" href="r5rs-Z-H-10.html#%_sec_7.1.6">7.1.6 Programs and definitions</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_sec_7.2" href="r5rs-Z-H-10.html#%_sec_7.2">7.2 Formal semantics</a>
|
|
<ol>
|
|
<li><a target="right" name="%_toc_%_sec_7.2.1" href="r5rs-Z-H-10.html#%_sec_7.2.1">7.2.1 Abstract syntax</a>
|
|
<li><a target="right" name="%_toc_%_sec_7.2.2" href="r5rs-Z-H-10.html#%_sec_7.2.2">7.2.2 Domain equations</a>
|
|
<li><a target="right" name="%_toc_%_sec_7.2.3" href="r5rs-Z-H-10.html#%_sec_7.2.3">7.2.3 Semantic functions</a>
|
|
<li><a target="right" name="%_toc_%_sec_7.2.4" href="r5rs-Z-H-10.html#%_sec_7.2.4">7.2.4 Auxiliary functions</a>
|
|
</ol>
|
|
<li><a target="right" name="%_toc_%_sec_7.3" href="r5rs-Z-H-10.html#%_sec_7.3">7.3 Derived expression types</a>
|
|
</ol>
|
|
</ol>
|
|
<ul>
|
|
<li><a target="right" name="%_toc_%_chap_Temp_6" href="r5rs-Z-H-11.html#%_chap_Temp_6">Notes</a>
|
|
<li><a target="right" name="%_toc_%_sec_Temp_7" href="r5rs-Z-H-11.html#%_sec_Temp_7">Language changes</a>
|
|
<li><a target="right" name="%_toc_%_chap_Temp_8" href="r5rs-Z-H-12.html#%_chap_Temp_8">Additional material</a>
|
|
<li><a target="right" name="%_toc_%_chap_Temp_9" href="r5rs-Z-H-13.html#%_chap_Temp_9">Example</a>
|
|
<li><a target="right" name="%_toc_%_chap_Temp_10" href="r5rs-Z-H-14.html#%_chap_Temp_10">Bibliography</a>
|
|
<li><a target="right" name="%_toc_%_chap_Temp_11" href="r5rs-Z-H-15.html#%_chap_Temp_11">Alphabetic Index of Definitions of Concepts,
|
|
Keywords, and Procedures</a>
|
|
</ul>
|
|
|
|
</body>
|
|
</html>
|