commit d84164ca34b1e5ccd6e89c5076b65c06f5109cf5
parent 33e6a140f273413048ef2e28570aeb2d596ee0b3
Author: Wolfgang Corcoran-Mathe <wcm@sigwinch.xyz>
Date: Fri, 2 Feb 2024 12:19:07 -0500
Delete duplicated material.
Diffstat:
1 file changed, 0 insertions(+), 160 deletions(-)
diff --git a/doc/r7rs-small/overview.texinfo b/doc/r7rs-small/overview.texinfo
@@ -1,163 +1,3 @@
-@node top, Introduction, (dir), (dir)
-@top Revised(7) Report on the Algorithmic Language Scheme
-
-@majorheading Summary
-
-The report gives a defining description of the programming language Scheme. Scheme is
-a statically scoped and properly tail recursive dialect of the Lisp programming language
-[23] invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. It was designed to have
-exceptionally clear and simple semantics and few different ways to form expressions. A
-wide variety of programming paradigms, including imperative, functional, and
-object-oriented styles, find convenient expression in Scheme.
-
-The introduction offers a brief history of the language and of the report.
-
-The first three chapters present the fundamental ideas of the language and describe the
-notational conventions used for describing the language and for writing programs in the
-language.
-
-Chapters 4 and 5 describe the syntax and semantics of expressions, definitions,
-programs, and libraries.
-
-Chapter 6 describes Scheme's built-in procedures, which include all of the language's data
-manipulation and input/output primitives.
-
-Chapter 7 provides a formal syntax for Scheme written in extended BNF, along with a
-formal denotational semantics. An example of the use of the language follows the formal
-syntax and semantics.
-
-Appendix A provides a list of the standard libraries and the identifiers that they export.
-
-Appendix B provides a list of optional but standardized implementation feature names.
-
-The report concludes with a list of references and an alphabetic index.
-
-Note: The editors of the R5RS and R6RS reports are listed as authors of this report in
-recognition of the substantial portions of this report that are copied directly from
-R5RS and R6RS. There is no intended implication that those editors, individually or
-collectively, support or do not support this report.
-
-@menu
-* Introduction::
-* Overview of Scheme::
-* Lexical conventions::
-* Basic concepts::
-* Expressions::
-* Program structure::
-* Standard procedures::
-* Formal syntax and semantics::
-* Appendices::
-* Language changes::
-* Additional material::
-* Example::
-* References::
-@end menu
-
-@node Introduction
-@chapter Introduction
-
-Programming languages should be designed not by piling feature on top of feature, but
-by removing the weaknesses and restrictions that make additional features appear
-necessary. Scheme demonstrates that a very small number of rules for forming
-expressions, with no restrictions on how they are composed, suffice to form a practical
-and efficient programming language that is flexible enough to support most of the major
-programming paradigms in use today.
-
-Scheme was one of the first programming languages to incorporate first-class
-procedures as in the lambda calculus, thereby proving the usefulness of static scope rules
-and block structure in a dynamically typed language. Scheme was the first major dialect
-of Lisp to distinguish procedures from lambda expressions and symbols, to use a single
-lexical environment for all variables, and to evaluate the operator position of a procedure
-call in the same way as an operand position. By relying entirely on procedure calls to
-express iteration, Scheme emphasized the fact that tail-recursive procedure calls are
-essentially GOTOs that pass arguments, thus allowing a programming style that is both
-coherent and efficient. Scheme was the first widely used programming language to
-embrace first-class escape procedures, from which all previously known sequential
-control structures can be synthesized. A subsequent version 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 support
-hygienic macros, which permit the syntax of a block-structured language to be extended
-in a consistent and reliable manner.
-
-@heading Background
-
-The first description of Scheme was written in 1975 [35]. A revised report [31] appeared in
-1978, which described the evolution of the language as its MIT implementation was
-upgraded to support an innovative compiler [32]. Three distinct projects began in 1981
-and 1982 to use variants of Scheme for courses at MIT, Yale, and Indiana University [27,
-24, 14]. An introductory computer science textbook using Scheme was published in 1984
-[1].
-
-As Scheme became more widespread, local dialects began to diverge until students and
-researchers occasionally found it difficult to understand code written at other sites.
-Fifteen representatives of the major implementations of Scheme therefore met in
-October 1984 to work toward a better and more widely accepted standard for Scheme.
-Their report, the RRRS [8], was published at MIT and Indiana University in the summer of
-1985. Further revision took place in the spring of 1986, resulting in the R3RS [29]. Work in
-the spring of 1988 resulted in R4RS [10], which became the basis for the IEEE Standard for
-the Scheme Programming Language in 1991 [18]. In 1998, several additions to the IEEE
-standard, including high-level hygienic macros, multiple return values, and eval, were
-finalized as the R5RS [20].
-
-In the fall of 2006, work began on a more ambitious standard, including many new
-improvements and stricter requirements made in the interest of improved portability. The
-resulting standard, the R6RS, was completed in August 2007 [33], and was organized as a
-core language and set of mandatory standard libraries. Several new implementations of
-Scheme conforming to it were created. However, most existing R5RS implementations
-(even excluding those which are essentially unmaintained) did not adopt R6RS, or adopted
-only selected parts of it.
-
-In consequence, the Scheme Steering Committee decided in August 2009 to divide the
-standard into two separate but compatible languages---a ``small'' language, suitable for
-educators, researchers, and users of embedded languages, focused on R5RS
-compatibility, and a ``large'' language focused on the practical needs of mainstream
-software development, intended to become a replacement for R6RS. The present report
-describes the ``small'' language of that effort: therefore it cannot be considered in
-isolation as the successor to R6RS.
-
-We intend this report to belong to the entire Scheme community, and so we grant
-permission to copy it in whole or in part without fee. In particular, we encourage
-implementers of Scheme to use this report as a starting point for manuals and other
-documentation, modifying it as necessary.
-
-@heading Acknowledgments
-
-We would like to thank the members of the Steering Committee, William Clinger, Marc
-Feeley, Chris Hanson, Jonathan Rees, and Olin Shivers, for their support and guidance.
-
-This report is very much a community effort, and we'd like to thank everyone who
-provided comments and feedback, including the following people: David Adler, Eli
-Barzilay, Taylan Ulrich Bay@dotless{i}rl@dotless{i}/Kammer, Marco Benelli, Pierpaolo Bernardi, Peter Bex, Per
-Bothner, John Boyle, Taylor Campbell, Raffael Cavallaro, Ray Dillinger, Biep Durieux,
-Sztefan Edwards, Helmut Eller, Justin Ethier, Jay Reynolds Freeman, Tony Garnock-Jones,
-Alan Manuel Gloria, Steve Hafner, Sven Hartrumpf, Brian Harvey, Moritz Heidkamp,
-Jean-Michel Hufflen, Aubrey Jaffer, Takashi Kato, Shiro Kawai, Richard Kelsey, Oleg
-Kiselyov, Pjotr Kourzanov, Jonathan Kraut, Daniel Krueger, Christian Stigen Larsen, Noah
-Lavine, Stephen Leach, Larry D. Lee, Kun Liang, Thomas Lord, Vincent Stewart Manis, Perry
-Metzger, Michael Montague, Mikael More, Vitaly Magerya, Vincent Manis, Vassil Nikolov,
-Joseph Wayne Norton, Yuki Okumura, Daichi Oohashi, Jeronimo Pellegrini, Jussi
-Piitulainen, Alex Queiroz, Jim Rees, Grant Rettke, Andrew Robbins, Devon Schudy, Bakul
-Shah, Robert Smith, Arthur Smyles, Michael Sperber, John David Stone, Jay Sulzberger,
-Malcolm Tredinnick, Sam Tobin-Hochstadt, Andre van Tonder, Daniel Villeneuve, Denis
-Washington, Alan Watson, Mark H. Weaver, G@"oran Weinholt, David A. Wheeler, Andy
-Wingo, James Wise, J@"org F. Wittenberger, Kevin A. Wortman, Sascha Ziemann.
-
-In addition we would like to thank all the past editors, and the people who helped them in
-turn: Hal Abelson, Norman Adams, David Bartley, Alan Bawden, Michael Blair, Gary
-Brooks, George Carrette, Andy Cromarty, Pavel Curtis, Jeff Dalton, Olivier Danvy, Ken
-Dickey, Bruce Duba, Robert Findler, Andy Freeman, Richard Gabriel, Yekta G@"ursel, Ken
-Haase, Robert Halstead, Robert Hieb, Paul Hudak, Morry Katz, Eugene Kohlbecker, Chris
-Lindblad, Jacob Matthews, Mark Meyer, Jim Miller, Don Oxley, Jim Philbin, Kent Pitman,
-John Ramsdell, Guillermo Rozas, Mike Shaff, Jonathan Shapiro, Guy Steele, Julie Sussman,
-Perry Wagle, Mitchel Wand, Daniel Weise, Henry Wu, and Ozan Yigit. We thank Carol
-Fessenden, Daniel Friedman, and Christopher Haynes for permission to use text from the
-Scheme 311 version 4 reference manual. We thank Texas Instruments, Inc. for permission
-to use text from the TI Scheme Language Reference Manual [37]. We gladly acknowledge the
-influence of manuals for MIT Scheme [24], T [28], Scheme 84 [15], Common Lisp [34], and
-Algol 60 [25], as well as the following SRFIs: 0, 1, 4, 6, 9, 11, 13, 16, 30, 34, 39, 43, 46, 62, and
-87, all of which are available at http://srfi.schemers.org.
-
-
@node Overview of Scheme
@chapter Overview of Scheme