Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The little Schemer (4th ed.)
Friedman D. (ed), Felleisen M., MIT Press, Cambridge, MA, 1996. Type: Book (9780262560993)
Date Reviewed: Apr 1 1997

This is the third revision of the well-known The little Lisper [1], by the same authors. The book’s main purpose remains the same: to teach the reader to think recursively. To achieve this goal, the authors use Scheme, a small and extremely powerful language derived from Lisp.

Scheme allows the building of programs by aggregation of previously defined functions and lends itself to the building of abstractions with great flexibility. This feature is used in the book itself--the authors build new concepts from previously defined ones or by inductions formed from examples. Scheme’s relatively small set of primitives makes this approach feasible.

The book is divided into ten sections and an intermission. In chapter 1, the basic structures--atom, list, S-expression, car, cdr, cons, and eq--are presented incrementally. The five rules of Scheme are established: the law of car, the law of cdr, the law of cons, the law of null, and the law of eq.

Chapter 2 explains the details of list processing along with the conditions that must be checked when recurring on a list of atoms, numbers, or S-expressions. In chapter 3, the authors present the list constructor, cons, and its use in direct and recursive list constructions.

Chapter 4 presents arithmetic and logical operations on numbers and lists of numbers. Chapter 5 builds the set abstraction using list as the basic representation. The basic set operations are implemented on the previously defined list operations.

Chapter 6 presents the use of help functions to abstract from representations instead of dealing directly with them. Chapter 7 resumes chapter 5’s focus on set abstractions, but uses the terms “set” and “subset” instead of “list” and “sublist.” The operations used (such as member and insert) are now redefined in terms of these abstractions. Association lists (a-lists), relations, and functions (one-to-one functions) are introduced.

Chapter 8 starts climbing the mountains of abstraction, showing how we can abstract patterns commonly present in functions using new functions and higher-order procedures. Chapter 9 contains the pick of abstractions in the book, recursion on higher-order procedures.

Chapter 10 features an introduction to metalinguistic abstraction. The authors show (superficially) how to construct an interpreter of a variation of Scheme using the Scheme interpreter.

In the “Intermission,” the authors suggest some related readings, including The seasoned Schemer (the sequel of this book) [2] and some classics, such as Hofstadter’s Gödel, Escher, Bach [3]. The index is organized by function. I found it useless, considering the organization of the book, which enforces the sequential reading of each section.

This is an excellent introduction to computing, programming, and recursion as a way to solve problems. It confronts us with the elegance, simplicity, and beauty of programming. Especially suitable for students with no programming skills, it will also be enjoyable for the programming expert. The book’s length makes it suitable for a short introductory course.

Reviewer:  Jose M. Ramirez Review #: CR120237 (9704-0246)
1) Friedman, D. and Felleisen, M. The little LISPer, 3rd ed. Prentice-Hall, Englewood Cliffs, NJ, 1989.
2) Friedman, D.; and Felleisen, M.; The seasoned Schemer. MIT Press, Cambridge, MA, 1996.
3) Hofstadter, D. Gödel, Escher, Bach: an eternal golden braid, reissue ed. Vintage Books, New York, 1989.
Bookmark and Share
 
Scheme (D.3.2 ... )
 
 
Lisp (D.3.2 ... )
 
 
Procedures, Functions, And Subroutines (D.3.3 ... )
 
 
Recursive Function Theory (F.4.1 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Scheme": Date
The runtime environment for Scheme, a Scheme implementation on the 88000
Vegdahl S., Pleban U. ACM SIGARCH Computer Architecture News 17(2): 172-182, 1989. Type: Article
Jul 1 1990
PC Scheme: user’s guide and language reference manual (trade ed.)
, MIT Press, Cambridge, MA, 1990. Type: Book (9780262700405)
Dec 1 1991
Programming in SCHEME
Watson M., Springer-Verlag New York, Inc., Secaucus, NJ, 1996. Type: Book (9780387946818)
Jun 1 1997
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy