An introduction to the language for readers with some programming experience, progressing from simple to difficult examples and exercises that illustrate each of the major features of the language. After coverage of aspects such as binding forms, control structures, and syntactic extension facilities, a final chapter includes sample programs and packages with an overview of each package with additional examples and exercises. Annotation c. by Book News, Inc., Portland, Or.
"synopsis" may belong to another edition of this title.
A straightforward introduction to scheme and a complete reference manual for ANSI standard Scheme.
Scheme was introduced in 1975 by Gerald J. Sussman and Guy L. Steele Jr., as the first dialect of Lisp to fully support lexical scoping, first-class procedures, and continuations. In its earliest form it was a very small language intended primarily for research and teaching, supporting only a handful of predefined syntactic forms and procedures. Scheme is now a complete general-purpose programming language, though it still derives its power from a small set of key concepts. Although early implementations of the language were interpreter-based and slow, some modern Scheme implementations boast sophisticated compilers that generate code on par with code generated by the best optimizing compilers for lower-level languages such as C and Fortran.
This book is intended to provide an introduction to the Scheme language but not an introduction to programming in general. The reader is expected to have had some experience programming and to be familiar with terms commonly associated with computers and programming languages. The author recommends that readers unfamiliar with Scheme or Lisp also read The Little Schemer to become familiar with the concepts of list processing and recursion. Readers new to programming should begin with an introductory text on programming, such as Structure and Interpretation of Computer Programs, Scheme and the Art of Programming, or The Schematics of Computation.
This book is not a formal language definition or standard document and is not intended for use as such by implementors of Scheme. The "IEEE Standard for the Scheme Programming Language," describing the ANSI/IEEE Standard for Scheme, is such a document. A separate series of documents, the "Revised Reports on the Algorithmic Language Scheme," contain extensions to the standard dialect that are not formally standardized but which most implementations support. Some of these extensions may be formally standardized at some future date. The current report in this series is the "Revised^4 Report on the Algorithmic Language Scheme," although as this book goes to press, there is already agreement on features to be included in the Revised^5 Report.
In spite of the foregoing statement that this book should not be taken as a language definition, it does describe all of the language features documented in the ANSI/IEEE Standard, the Revised^4 Report, and the forthcoming Revised^5 Report (as proposed). Features that are in the Revised^4 or Revised^5 Report but not in the ANSI/IEEE standard are identified as such when they are described.
The first edition of this book described a number of extensions supported by the Chez Scheme implementation of Scheme. They have been removed from this edition. The primary rationale for including Chez Scheme-specific features in the first edition was that the standard language was really too small to be viable and including the extensions was necessary to show the full flavor of the language. The standard language has expanded considerably since then and now stands on its own. Features specific to Chez Scheme are described in The Chez Scheme System Manual.
A large number of small- to medium-sized examples are spread throughout the text, and one entire chapter is dedicated to the presentation of a set of longer examples. Many of the examples show how a predefined Scheme syntactic form or procedure might be implemented. Nearly all Scheme systems are interactive, and all of the examples can be entered directly from the keyboard into an interactive Scheme session.
This book is organized into nine chapters. Chapter 1 describes the properties and features of Scheme that make it a useful and enjoyable language to use. Chapter 1 also describes Scheme's notational conventions and the typographical conventions employed in this book.
Chapter 2 is an introduction to Scheme programming for the novice Scheme programmer that leads the reader through a series of examples, beginning with the simplest Scheme expressions and working toward progressively more difficult ones. Each section of Chapter 2 introduces a small set of related features, and at the end of each section is a set of exercises for further practice. The reader will learn the most from Chapter 2 by sitting at the keyboard and typing in the examples and trying the exercises.
Chapter 3 continues the introduction but covers more advanced features and concepts. Even readers with prior Scheme experience may wish to work through the examples and exercises found there.
Chapters 4 through 8 make up the reference portion of the text. They present each of Scheme's primitive procedures and syntactic forms in turn, grouping them into short sections of related procedures and forms.
Chapter 4 describes operations for creating and changing variable bindings; Chapter 5, program control operations; Chapter 6, operations on the various object types (including lists, numbers, and strings); Chapter 7, input and output operations; and Chapter 8, syntactic extension.
Chapter 9 contains a collection of complete example programs or packages, each with a short overview, some examples of its use, the implementation with brief explanation, and a set of exercises for further work. Each of these programs demonstrates a particular set of features, and together they provide a picture of the author's style of programming in Scheme.
Following Chapter 9 are a bibliography, a detailed description of the formal syntax of Scheme programs and data, a concise summary of Scheme syntactic forms and procedures, and the index. The summary of forms and procedures is a useful first stop for programmers unsure of the structure of a syntactic form or the arguments expected by a primitive procedure. The page numbers appearing in the summary of forms and procedures and the italicized page numbers appearing in the index indicate the locations in the text where forms and procedures are defined.
Because the reference portion describes a number of aspects of the language not covered by the introductory chapters along with a number of interesting short examples, most readers will find it profitable to read through most of the material to become familiar with each feature and how it relates to other features. Chapter 6 is lengthy, however, and may be skimmed and later referenced as needed.
"About this title" may belong to another edition of this title.
Shipping:
FREE
Within U.S.A.
Seller: Wonder Book, Frederick, MD, U.S.A.
Condition: Good. Good condition. A copy that has been read but remains intact. May contain markings such as bookplates, stamps, limited notes and highlighting, or a few light stains. Bundled media such as CDs, DVDs, floppy disks or access codes may not be included. Seller Inventory # A01K-00238
Quantity: 1 available
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Good. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00083831835
Quantity: 1 available
Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.
Paperback. Condition: Good. No Jacket. Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 1.2. Seller Inventory # G0134546466I3N00
Quantity: 1 available
Seller: ThriftBooks-Dallas, Dallas, TX, U.S.A.
Paperback. Condition: Good. No Jacket. Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 1.2. Seller Inventory # G0134546466I3N00
Quantity: 1 available
Seller: ThriftBooks-Dallas, Dallas, TX, U.S.A.
Paperback. Condition: Fair. No Jacket. Readable copy. Pages may have considerable notes/highlighting. ~ ThriftBooks: Read More, Spend Less 1.2. Seller Inventory # G0134546466I5N00
Quantity: 1 available
Seller: ThriftBooks-Atlanta, AUSTELL, GA, U.S.A.
Paperback. Condition: Fair. No Jacket. Readable copy. Pages may have considerable notes/highlighting. ~ ThriftBooks: Read More, Spend Less 1.2. Seller Inventory # G0134546466I5N00
Quantity: 1 available
Seller: ThriftBooks-Phoenix, Phoenix, AZ, U.S.A.
Paperback. Condition: Good. No Jacket. Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 1.2. Seller Inventory # G0134546466I3N00
Quantity: 1 available
Seller: Open Books, Chicago, IL, U.S.A.
paperback. Condition: Very Good. Open Books is a nonprofit social venture that provides literacy experiences for thousands of readers each year through inspiring programs and creative capitalization of books. Seller Inventory # mon0000796272
Quantity: 1 available
Seller: Pella Books, Pella, IA, U.S.A.
Trade Paperback. Condition: Used Good. Seller Inventory # 241635
Quantity: 1 available
Seller: The Book Spot, Sioux Falls, MN, U.S.A.
Paperback. Condition: New. Seller Inventory # Abebooks8809
Quantity: 1 available