Scheme is a general purpose programming language descended from Algol and Lisp. Because it is conceptually clean and simple, it is an easy language to learn. At the same time, it is a powerful language, and full mastery of its power requires careful study and practice. Scheme is used widely in computing education and research, as well as for a broad spectrum of industrial applications ranging from graphical user interfaces and language compilers to virtual reality engines, web navigators, and enterprise computing solutions.
This revised edition of The Scheme Programming Language provides an introduction to the language for readers with some programming experience. Beginning with a gentle introduction for novice Scheme programmers, it leads the reader through a series of progressively more difficult examples that introduce each of the major features of the language. Advanced concepts and features are thoroughly covered with examples and exercises appropriate even for more experienced programmers.
The introduction is followed by a set of reference chapters that cover Scheme's binding forms, control structures, operations on objects, input and output operations, and syntactic extension facilities. A final chapter is devoted to a collection of sample programs or packages and includes an overview of each package with additional examples and exercises.
R. Kent Dybvig is Associate Professor of Computer Science at Indiana University and principal developer of Chez Scheme, the premier implementation of Scheme.
As its title indicates, The Scheme Programming Language is to the ANSI Scheme programming language what The C Programming Language is to ANSI C. I leaned on Dybvig's reference heavily when I implemented an ANSI Scheme interpreter as part of an intermediate programming course in C++. It was indispensable, clarifying language subtleties for me repeatedly. When I later implemented basic neural networks in Scheme for another course, I once again found The Scheme Programming Language a tremendous resource. Any changes to ANSI Scheme that may have occurred since 1997 notwithstanding, I highly recommend this book.