⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 r5rs-z-h-3.html

📁 scheme 标准(r5rs)。Scheme是MIT发布的基于Lambda运算的语言
💻 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-2.html">previous</a></span><span>, <a href="r5rs-Z-H-4.html">next</a></span> page<span>; &nbsp;&nbsp;</span><span><a href="r5rs-Z-H-2.html#%_toc_start">contents</a></span><span><span>; &nbsp;&nbsp;</span><a href="r5rs-Z-H-15.html#%_index_start">index</a></span>]</div><p><a name="%_chap_Temp_3"></a><h1 class=chapter><div class=chapterheading>&nbsp;</div><p><a href="r5rs-Z-H-2.html#%_toc_%_chap_Temp_3">Introduction</a></h1><p><p><p>Programming languages should be designed not by piling feature on top offeature, but by removing the weaknesses and restrictions that make additionalfeatures appear necessary.  Scheme demonstrates that a very small numberof rules for forming expressions, with no restrictions on how they arecomposed, suffice to form a practical and efficient programming languagethat is flexible enough to support most of the major programmingparadigms in use today.<p>Schemewas one of the first programming languages to incorporate first classprocedures as in the lambda calculus, thereby proving the usefulness ofstatic scope rules and block structure in a dynamically typed language.Scheme was the first major dialect of Lisp to distinguish proceduresfrom lambda expressions and symbols, to use a single lexicalenvironment for all variables, and to evaluate the operator positionof a procedure call in the same way as an operand position.  By relyingentirely on procedure calls to express iteration, Scheme emphasized thefact that tail-recursive procedure calls are essentially goto's thatpass arguments.  Scheme was the first widely used programming language toembrace first class escape procedures, from which all previously knownsequential control structures can be synthesized.  A subsequentversion of Scheme introduced the concept of exact and inexact numbers,an extension of Common Lisp's generic arithmetic.More recently, Scheme became the first programming language to supporthygienic macros, which permit the syntax of a block-structured languageto be extended in a consistent and reliable manner.<p><a name="%_sec_Temp_4"></a><h3><a href="r5rs-Z-H-2.html#%_toc_%_sec_Temp_4">Background</a></h3><p>The first description of Scheme was written in1975&nbsp;[<a href="r5rs-Z-H-14.html#%_sec_7.3">28</a>].  A revised report&nbsp;[<a href="r5rs-Z-H-14.html#%_sec_7.3">25</a>] appeared in 1978, which described the evolutionof the language as its MIT implementation was upgraded to support aninnovative compiler&nbsp;[<a href="r5rs-Z-H-14.html#%_sec_7.3">26</a>].  Three distinct projects began in1981 and 1982 to use variants of Scheme for courses at MIT, Yale, andIndiana University&nbsp;[<a href="r5rs-Z-H-14.html#%_sec_7.3">21</a>,&nbsp;<a href="r5rs-Z-H-14.html#%_sec_7.3">17</a>,&nbsp;<a href="r5rs-Z-H-14.html#%_sec_7.3">10</a>].  An introductorycomputer science textbook using Scheme was published in1984&nbsp;[<a href="r5rs-Z-H-14.html#%_sec_7.3">1</a>].<p>As Scheme became more widespread,local dialects began to diverge until students and researchersoccasionally found it difficult to understand code written at othersites.Fifteen representatives of the major implementations of Scheme thereforemet in October 1984 to work toward a better and more widely acceptedstandard for Scheme.Their report&nbsp;[<a href="r5rs-Z-H-14.html#%_sec_7.3">4</a>]was published at MIT and Indiana University in the summer of 1985.Further revision took place in the spring of 1986&nbsp;[<a href="r5rs-Z-H-14.html#%_sec_7.3">23</a>],and in the spring of 1988&nbsp;[<a href="r5rs-Z-H-14.html#%_sec_7.3">6</a>].The present report reflects further revisions agreed upon in a meetingat Xerox PARC in June 1992.<p><p><p><p><p>We intend this report to belong to the entire Scheme community, and sowe grant permission to copy it in whole or in part without fee.  Inparticular, we encourage implementors of Scheme to use this report asa starting point for manuals and other documentation, modifying it asnecessary.<p><a name="%_sec_Temp_5"></a><h3><a href="r5rs-Z-H-2.html#%_toc_%_sec_Temp_5">Acknowledgements</a></h3><p>We would like to thank the following people for their help: Alan Bawden, MichaelBlair, George Carrette, Andy Cromarty, Pavel Curtis, Jeff Dalton, Olivier Danvy,Ken Dickey, Bruce Duba, Marc Feeley,Andy Freeman, Richard Gabriel, Yekta G&uuml;rsel, Ken Haase, RobertHieb, Paul Hudak, Morry Katz, Chris Lindblad, Mark Meyer, Jim Miller, Jim Philbin,John Ramsdell, Mike Shaff, Jonathan Shapiro, Julie Sussman,Perry Wagle, Daniel Weise, Henry Wu, and Ozan Yigit.We thank Carol Fessenden, DanielFriedman, and Christopher Haynes for permission to use text from the Scheme 311version 4 reference manual.  We thank Texas Instruments, Inc.&nbsp;for permission touse text from the <em>TI Scheme Language Reference Manual</em>[<a href="r5rs-Z-H-14.html#%_sec_7.3">30</a>].We gladly acknowledge the influence of manuals for MIT Scheme[<a href="r5rs-Z-H-14.html#%_sec_7.3">17</a>],T[<a href="r5rs-Z-H-14.html#%_sec_7.3">22</a>], Scheme 84[<a href="r5rs-Z-H-14.html#%_sec_7.3">11</a>],Common Lisp[<a href="r5rs-Z-H-14.html#%_sec_7.3">27</a>],and Algol 60[<a href="r5rs-Z-H-14.html#%_sec_7.3">18</a>].<p>We also thank Betty Dexter for the extreme effort she put intosetting this report in T<small>E</small>X, and Donald Knuth for designing the programthat caused her troubles.<p>The Artificial Intelligence Laboratory of theMassachusetts Institute of Technology, the Computer ScienceDepartment of Indiana University, the Computer and InformationSciences Department of the University of Oregon, and the NEC ResearchInstitute supported the preparation of this report.  Support for the MITwork was provided in part bythe Advanced Research Projects Agency of the Department of Defense under Officeof Naval Research contract N00014-80-C-0505.  Support for the IndianaUniversity work was provided by NSF grants NCS 83-04567 and NCS83-03325.<p>   <p><p><p>
 <p><div class=navigation>[Go to <span><a href="r5rs.html">first</a>, <a href="r5rs-Z-H-2.html">previous</a></span><span>, <a href="r5rs-Z-H-4.html">next</a></span> page<span>; &nbsp;&nbsp;</span><span><a href="r5rs-Z-H-2.html#%_toc_start">contents</a></span><span><span>; &nbsp;&nbsp;</span><a href="r5rs-Z-H-15.html#%_index_start">index</a></span>]</div><p></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -