Learn Common Lisp With Touretzky
- 8 minutes read - 1632 wordsI didn’t wake up this year intending to be the guy who reviewed Lisp textbooks, but these are definitely Lovecraftian stranger aeons…
At the apex of my frustration with Land of Lisp, I vented on Mastodon. In response, space-, Lisp-, and Medley-evangelist Paolo Amoroso suggested some well-regarded alternatives. Of them, the option that caught my eye for its considerate and, well, gentle tone, was David Touretzky’s book: COMMON LISP: A Gentle Introduction to Symbolic Computation [CLAGISC hereafter].
When some more-experienced Lisp hands called it “too basic,” I was concerned. Having finished the work, I discovered something remarkable: CLAGISC educates beginners, but then – through clever editorial machinery – it bootstraps them into practicing intermediate Lisp programmers. Through a meta-circular process that unites writing, editing, graphic design, and play-testing, it transforms its own readers a second time.
Due to its superior editing and its gentle and practiced and human tone, I recommend starting explorations of Lisp with CLAGISC, a book that — ouroboros-like — seems to have consumed its own tail and unlocked an eternal golden braid in its own reading. Its end is its beginning; its fractal spin into the depths is actually the fractal spin out into the heavens. It is the rung beyond the last rung in Wittgenstein’s ladder.
Let me show you how this remarkable book works.
CLAGISC’s Success as a Basic Introduction to Lisp
Tested By Human Ear and Eye
Great books live first in the mouth and ear before the page. My friend Aaron’s books on Cocoa and iOS were refined at his courses. What’s left of Aristotle that still influences thought to this day, were effectively his speaker notes. Kant’s Prolegomena is pretty much speaker notes summarizing his Critique of Pure Reason. Would-be writers who calibrate against these human factors have a sense of when the ear or eye get tired; they know what’s a leap; they know the next obvious question.

The book’s origins as a teaching tool are clear from the start
Touretzky boldly claims in his first three paragraphs a commitment to the human, social, joyous act of cross-disciplinary sharing of ideas. I think it was about here I decided that this was going to be the book. It suggested a completely different standard of care.
Touretzky, because he’s worked with humans, also includes anti-examples: “How to Misdefine a Function” or “The Problem of Misquoting” suggest that he’s encountered real humans veering off of the happy path and knows when they’re likely to need a correction in the text. This is brilliant and empathetic.
As we’ll see, putting people, human ergonomics, and interaction first clearly bears fruit. As a counterpoint, the density of Land of Lisp’s chapters show that no humans actually battle tested the content: the audience was clearly Barski for Barski and his editor, and the latter was insufficiently engaged.
Authorial Discipline and Focus
While it’s not my intention to heap further opprobrium on Land of Lisp, it serves as a useful foil to what Touretzky did right. As an introductory text, CLAGISC further succeeds by delivering on the three areas I found lacking in Land of Lisp:
Even and Logical Complexity Scaling
Part of CLAGISC’s genius lies in its careful progression. Early chapters can be completed with just paper and pencil - making this not just a good book on Lisp, but an excellent introduction to computation itself.
Touretzky bootstraps the reader’s mental model(s) with graphical (“box”) notation:

Functions are just data transformers
and, later, logic-inspired (“eval”) notation:

Functions are scopes and call stacks
He works hard to get/keep the language out of your way so that you can focus on the next skill he needs you to get before moving to the next section. Touretzky is a kind tour-guide of this language’s strange, yet peaceful, features.
CLAGISC prefers small demonstrations or exercises.

Small functions, sample data, mentally-playable
You can get the gist in your head while reading on a downtown B train. You can muse on a listing while walking up the interminable stairs as Lexington/3rd Avenue. While it’s not going to win any awards for helping Lisp programmers think about building large-scale Lisp applications, it is going to help mint more Lisp programmers.
Asides are Timely and Helpful
Where there are interesting asides, they’re described as such by being under the “Advanced Topics” subcomponent at the end of each chapter. As a result, if you’re feeling confident, go ahead, learn some advanced spells. But if you think that you need to get some time at keyboard first, that’s also OK.
Touretzky presents tools such as debuggers or visualizer code or actual computer hardware considerations at appropriate junctures. He scales them evenly so that they’re helpful for where the reader is. When the reader intuits a shortcoming, Touretzky provides another tool that goes deeper by leveraging what the learner has intuited and/or been taught along the way.
Lisp’s fascinating error recovery system (“Interrupts”) is given a light,
pragmatic treatment in Chapter 3 so that readers are more comfortable handling
Lisp’s distinctive “You messed up” signal. In terms of helping visualize data
state, Chapter 4 provides (step)
a handy, but naive tool for understanding
the state of the world when an interrupt happens. But by Chapter 6, our data
states are now a bit more complex and (sdraw)
is handier than (step)
.
Touretzky chooses the right time to introduce ideas and makes sure their debuts are supported by careful ramping-up. It’s notable that Touretzky gives us a state drawing tool at the 50% mark and it’s, admittedly, low-fi but occasions very little unrequired complexity. Land of Lisp rolled a richer, more-complex, more-opaque, less-graspable equivalent in roughly its second major exercise.
A great introductory book sets its eyes on education, not demonstration. Land of Lisp was demonstration after demonstration. By this yardstick, CLAGISC is a great introductory book. If CLAGISC is a Boy Scout helping you across an intersection, Land of Lisp is a joyriding teenager in a convertible who just tossed their half-drunk McDonalds shake out the roof and is waiting for it to smack you in the face in 3…2…1.
In close, for its empathy, for its attention to keeping students in the zone of proximal development, CLAGISC ought rightly be praised as a superior book on learning Lisp and, indeed, on computation itself. But then CLAGISC does something remarkable. It reboots itself and offers itself as an aide to the programmer.
Superior (Editing) Firepower
A (too-?) basic introductory book can punch above its weight class provided that it has clever organization, intentional mnemonic hooks, and great visual design. That is, if it has been edited well by people with a design sensibility. If those conditions are met, it can become a great intermediate book as well by helping the reader decompose the text and then use the fragments as they see fit to accomplish a non-pedagogically-bound goal.
I have called out the botched editing job done on Land of Lisp. The exact opposite thing must have happened in the creation of this book because it excels in organization, its index’s richness, and visual rhythm. Clearly no accident, this competence was practiced at the legacy technical/reference publishers of yore
My edition of CLAGISC was published at Benjamin Cummings (Addison-Wesley) during the early 80s when human design, editing, and writing were working hand-in-hand with content at a publisher that “got” computer science. Benjamin Cummings was a San Francisco-based publisher so they “got” the nascent Silicon Valley market and how to educate it.1 With this superior editing firepower, CLAGISC isn’t just a great introduction to Lisp; it’s a great vademecum, a great handbook for the novice Lisp programmer.
Chapters have a visually musical cadence in their structure.
Every chapter heading has big wide lines to help you while you’re flipping:

Not gonna miss this module
Important sub-sections have a similar, but thinner heading:

Not gonna miss this module
If you want a debrief on what forms were just taught in a chapter, go to the next chapter and flip back a few pages to the lovely “Functions Covered” heading:

The aggregated list of these is basically your core vocabulary for the language: take notes or OCR extract
Don’t want to leaf through the chapter? The index is generous and humorous (Dr. Seuss even appears). Don’t remember the chapter but remember the example topic (say, starships)? Again, the index assists:

A robust index
Was the main part of a chapter a struggle and you just want to move on? No problem. Advanced or adjunct ideas are sequestered in a box for later.
Back in my days in South Bay, you could always tell the books that were really
used. They were the ones with coffee splotches (My Perl 5 book) or hand oil
stains in the middle (My Perls of Wisdom book, and, uh, ew). Truly basic
books don’t get that gross loved, but CLAGISC pulls a remarkable trick in
that it is a basic book that then becomes a reference/inspiration book, and it
does it while maintaining an empathetic and gentle bearing. I’d not be
surprised to find that most of the extant copies show clear evidence of being a
fast-lookup reference for working Lisp programmers.
In this remixability, CLAGISC serves, again, as an excellent contrast to Land of Lisp. CLAGISC gives tools for inventing whole new types of play and toys to play it. Land of Lisp demonstrates beautiful, fabulous, pink Barbie™ houses of dazzlement that can only ever be, well, dazzling houses for Barbie and the rest of the crew. A book that can grow you and then grow with you is exceptional.
And that’s not pedagogy, that’s learning poetry.
Footnotes
- Addison’s roster includes some of the most iconic technical and engineering works ever written: The Art of Computer Programming by Knuth, The Mythical Man-Month, the Design Patterns book.