HackerTube.live
Books / Functional Programming

THE READING ROOM / BOOK GUIDE

The Little Schemer

Daniel P. Friedman; Matthias Felleisen

A question-and-answer walk through recursive thinking in Scheme, built from small food-themed examples that ask you to answer before the page does.

About the book

The Little Schemer by Daniel P. Friedman and Matthias Felleisen teaches Scheme, a dialect of Lisp, through a Socratic format. Each page poses a question, leaves space for your answer, then supplies the expected response on the following page. The book begins with elementary questions about atoms, lists, and pairs, then builds toward recursion, the mechanics of functions, and the handling of nested structures.

Its subject is functional programming as practiced in Scheme, and the book treats that subject as a set of habits of thought rather than a tour of language features. The dialogue form keeps the reader active: you are expected to work out each answer, not simply read past it. The examples are deliberately small and often use food names, which keeps attention on the structure of the computation rather than on a realistic application.

Later material turns to the Y combinator and to the limits of computation, connecting the practical recursion drills to a broader question about what functions can and cannot express. The book is a companion to The Seasoned Schemer, which continues the same method.

How to read it

Read with a pencil and cover the answer. The format rewards patience: skipping ahead defeats the purpose, because the questions are sequenced so that each one depends on the last. Work the examples on paper, especially once recursion and nested lists appear.

The prose is plain and the pages are short, but the cumulative difficulty is real. Expect to slow down around the recursive functions and the later chapters on the Y combinator. The book assumes no prior Scheme, though some comfort with programming in any language helps. It is not a reference manual; consult a Scheme standard or implementation guide alongside it when you need syntax details.

Who it suits

Readers who learn by doing will get the most from this book. It suits programmers from other languages who want to understand recursion and functional style from the ground up, and students who find conventional textbooks too passive. Anyone preparing to read more advanced functional programming material will find the recursive habits here useful groundwork.

Reading considerations

The dialogue format can feel repetitive, and the food-themed examples are deliberately artificial, so readers wanting realistic programs should look elsewhere. The 1995 edition reflects Scheme as taught then; check which edition you have and whether your Scheme implementation matches the dialect used. The book is a teaching text, not a survey of the language, so pair it with other references for practical work.

Follow the HN conversation

288 different recommenders are recorded in the upstream dataset. These are AI-classified source counts, not an independent rating.

Search HN comments about this book ↗

Explore videos on the same subject ↗

Book notes prepared with DeepSeek, using catalogue records and Open Library subject information. They are reading guidance, not a personal review or a verified chapter-by-chapter account. Book details can vary by edition. HN data methodology · Book metadata and covers.