HackerTube.live
Books / Functional Programming

THE READING ROOM / BOOK GUIDE

The reasoned schemer

Daniel P. Friedman

A short, question-driven book that teaches logic programming through Scheme, asking readers to reason about relations instead of computing answers step by step.

About the book

The Reasoned Schemer is a compact teaching text by Daniel P. Friedman, built around Scheme and the logic-programming ideas associated with Lisp. It works through a sequence of small queries and puzzles that introduce relational programming: stating what must be true and letting the system search for values that satisfy it.

The book belongs to the same question-and-answer tradition as Friedman's other Schemer titles. Readers encounter short exchanges, work out expected results, and then see how the underlying machinery produces them. The subject matter is the shift from functions that return one value to relations that can succeed with many answers or fail outright. Most of its examples serve to make that shift concrete.

Because the text is brief and example-led, it works more like a guided exercise set than a survey. The aim is fluency with a particular style of thinking, with limited coverage of logic programming languages or theory.

How to read it

Read with a Scheme implementation at hand and attempt each query before reading the answer. The book rewards active guessing; skimming the exchanges turns them into opaque notation. Expect to backtrack when a prediction fails, since that failure is often the lesson.

The prose is terse and the notation accumulates. Beginners to Scheme should be comfortable with lists, recursion, and basic evaluation before starting. Readers who prefer extended explanation over terse dialogue may find the format demanding, though the small scale keeps the demand manageable.

Who it suits

This suits programmers curious about logic programming who want a hands-on, low-page-count entry point, and Scheme users ready to move beyond ordinary recursive functions. It also fits readers who learn by doing puzzles and checking their reasoning against worked answers. Those seeking a general introduction to Prolog or a theoretical treatment of logic should look elsewhere.

Reading considerations

The book assumes Scheme familiarity and a working environment for running the examples; without that, the exchanges are hard to follow. Editions and companion implementations vary, so check which Scheme setup the copy you hold expects. Treat the answers as material to test rather than memorize.

Follow the HN conversation

45 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.