Language:
    • Available Formats
    • Options
    • Availability
    • Priced From ( in USD )

Customers Who Bought This Also Bought

 

About This Item

 

Full Description

Scope

This standard specifies the representation of Scheme programs, their syntax, the semantic rules for interpreting them, and the representation of data to be input or output by them. This standard does not specify the mechanisms by which Scheme programs are transferred to and from system memory and placed into execution, or the size or complexity of a program and its data that will exceed the capacity of a particular implementation

Purpose

Throughout its thirty-year life, the Lisp family of languages has continually evolved to encompass changing ideas about programming-language design. Scheme has participated in the evolution of Lisp. Scheme was one of the first programming languages to incorporate first-lass 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. Scheme was the first widely used programming language to rely entirely on procedure calls to express iteration and to embrace first-class escape procedures. Specifying a standard for Scheme is intended to encourage the continued evolution of Lisp dialects by identifying a coherent set of constructs that is large enough to support the implementation of substantial programs, but also small enough to admit significant extensions and alternate approaches to language design. For example, this standard does not mandate the inclusion in Scheme of large run-time libraries, particular user interfaces, or complex interactions with external operating systems, although practical Scheme implementations ordinarily provide such features. In particular, there are important linguistic design issues that are not discussed in this standard precisely because Scheme has sparked fruitful new approaches in these areas, and this working group does not wish to discourage the further development of good ideas by taking a position on issues under active investigation. Some of these issues are macros, packaging, and object-oriented programming. The working group hopes that future revisions of this standard will be sensitive to the fact that good ideas need time to mature, and that exploration can often be stifled by the premature adoption of standards.

Abstract

New IEEE Standard - Inactive-Reserved. Reaffirmed 2008. The form and meaning of programs written in the Scheme programming language, in particular, their syntax, the semantic rules for interpreting them, and the representation of data to be input or output by them, are specified. The fundamental ideas of the language and the notational conventions used for describing and writing programs in the language are presented. The syntax and semantics of expressions, programs, and definitions are specified. Scheme's built-in procedures, which include all of the language's data manipulation and input/output primitives, are described, and a formal syntax for Scheme written in extended Backus-Nauru form is provided. Formal denotational semantics for Scheme and some issues in the implementation of Scheme's arithmetic are covered in the appendixes.