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>
 |