Jump to ratings and reviews
Rate this book

Common LISP: A Gentle Introduction to Symbolic Computation

Rate this book
This highly accessible introduction to Lisp is suitable both for novices approaching their first programming language and experienced programmers interested in exploring a key tool for artificial intelligence research. The text offers clear, reader-friendly explanations of such essential concepts as cons cell structures, evaluation rules, programs as data, and recursive and applicative programming styles.
The treatment incorporates several innovative instructional devices, such as the use of function boxes in the first two chapters to visually distinguish functions from data, use of evaltrace notation in later chapters to illustrate the operation of evaluation rules, and "Dragon stories" to explain recursion. The book contains nearly 400 diagrams and illustrations, and 77 pages of answers to exercises. Advanced topics and "toolkit" sections, and a variety of complete programs, extend readers' programming power.

767 pages, Kindle Edition

First published January 1, 1984

75 people are currently reading
233 people want to read

About the author

David S. Touretzky

23 books4 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
61 (42%)
4 stars
49 (33%)
3 stars
32 (22%)
2 stars
3 (2%)
1 star
0 (0%)
Displaying 1 - 16 of 16 reviews
Profile Image for Christopher.
1,415 reviews213 followers
June 2, 2017
DAvid S. Touretzky's introduction to computer programming through the Common Lisp programming language was first published in 1990. However, because Touretzky's teaching approach remains perennially attractive, and the Common Lisp language has not significantly changed in the decades since, Dover reprinted the book in 2013. This book was generally aimed at university undergraduates who have no particular zeal for computer science or mathematics, but just want to learn what computer programming involves. It was assumed that university students would be given access to a lab computer running Common Lisp, but this book is accessible to any solitary reader who can manage to install a Lisp environment on his/her own computer.

Because the book was initially conceived as a computer science intro on the basis of Lisp, Touretzky aims to teach not just the Common Lisp language itself, but also all the basic concepts of writing code in any language: variables, memory management, functional programming and recursive programming, etc. However, for this reader who has a solid background in computer programming and just wanted to learn Common Lisp specifically, the layout and organization of the book proved to be very clear and it was easy to skim the sections for novice programmers in order to just extract the documentation of Common Lisp itself.

Touretzky's survey of the Common Lisp language mainly involves the primitive functions of the language. That is, you learn some basic commands to get the computer to output text or do some mathematical operations to numbers so that you get a general idea of computer programming. However, the book stops before it could teach you the higher-level functions that one would actually use in real-world Common Lisp programming for e.g. working with graphics, multimedia, databases, networks, etc. That actually isn't too much of a flaw: Common Lisp library support has come a long way since 1990, and anything Touretzy might have written on the subject would now be extremely outdated. So, while the book does stop at a pretty simple level and that might disappoint some readers, at least one will be spurred to get the rest of the Common Lisp story from a more recent resource like Weitz's Common Lisp Recipes.

In fact, because Touretzky's survey of Common Lisp limits itself to very basic functions that are found in other forms of Lisp, a reader can easily use this book as a very basic introduction to Emacs Lisp (if you find the official introduction to Emacs Lisp by Robert J. Chassell starts off too complicated) or even, with some caveats, Scheme.
Profile Image for thirtytwobirds.
105 reviews55 followers
May 6, 2014
An awesome intro for beginners. It really is gentle, and it really is about symbolic computation.

If I were going to teach a class on Lisp for beginners, this would be the textbook. It might even be the right book for a first class on programming in general.

Note: The first edition has the prettier cover, but the second edition is much more current and includes info about Common Lisp. If you use the first edition you're going to get some confusing terminology regarding scope and other things. Get the second edition.
Profile Image for Phani Tholeti.
77 reviews12 followers
May 12, 2017
An Ok-Ok book - it details the syntax of lisp decently enough and is too basic for people with programming background (esp recursive and applicative). The main part of lisp - Macros don't have enough working exercises to get a good handle on. The few problems in lips macros is barely sufficient - given that it is designed to be a "textbook".
You are new to programming, this is a good place to start. But, if you want to get good with Macros or lisp, you wan to find a better book.
Profile Image for Rob.
612 reviews20 followers
January 29, 2024
I love that this book was published in 1984 -- 40 years ago!!! -- and still works! Common Lisp is an amazing language in that way. I wanted a "lighter" intro to lisp than Grahams ANSI Common Lisp, mostly because I was teaching myself in spare moments between work and parenting, and unable to really focus hard on it regularly. This book answered wonderfully well for that.

This book was a fun, relatively quick read. It has great exercises in every chapter, including answers in the back of the book (I wish that Paul Graham's ANSI Common Lisp had the answers in it). I particularly appreciated exercises where it specified "you MUST use loops NOT recursion" to force usage of different aspects of the language.

If you're an experienced programmer, the first 9 chapters can be whipped through pretty quickly.

Chapters 10+ are where things get Lispy. Assignments in Lisp are surprisingly powerful and different (chapter 10). Iterations as well. I had used (do) before, but never really appreciated it until doing all the exercises in this book.

Chapter 14, Macros, took me a while to work through, and rework through. I get the basics, but this is the area where practice is going to be required to really "get it". I have Graham's "On Lisp" which focuses heavily on Macros, and look forward to mastering it.
Profile Image for Yuri Karabatov.
Author 1 book24 followers
September 15, 2021
This was my first serious foray into reading a Lisp book—and finishing it. I only tried “Write Your Own Lisp” a few years earlier but didn't finish it (oh, and SICP, but that's in progress). Having tried a bit of Clojure and Scheme I was somewhat familiar with how you approach problems in Lisp, so my mind was prepared :)

The book itself is perfect for a beginner because every minor detail is explained several times from different angles, and then you get to practice some problems that (thankfully) have answers at the end of the book. I didn't find it tedious and could follow all the code. Maybe another re-read while actually doing all the exercises?

As for Common Lisp itself, I find it intriguing and even though I have good reasons, I kind of regret not trying it earlier, it does force you to think in a different way.
5 reviews
March 8, 2021
Really a /gentle/ introduction to Common Lisp.

Chapter 8 on recursion is very instructive and recommendable, imo one of the best resources to learn the basics of recursion.

I read Touretzky first and proceeded with Graham's Ansci Common Lisp and especially the recursion stuff from Touretzky is a good preparation for any further Lisp adventures!
Profile Image for André Ferreira.
3 reviews
April 30, 2021
Excellent introductory book to learn Common Lisp. It starts light, with a pace that is comfortable to understand. The exercises are at a good level of difficulty. The book doesn't cover Packages and Common Lisp Object System (CLOS) topics, making it necessary to search other books to study these. Overall, I strongly recommend the book.
8 reviews1 follower
April 20, 2020
One of the best text books I've ever read. I wish I learned CS with Lisp and this book as an undergrad.
Profile Image for Arun.
211 reviews67 followers
July 5, 2020
Best introduction to common LISP and problem solving using LISP in general. The chapter on recursion is by itself worth the price of the admission.
4 reviews
September 3, 2020
This is a great book for learning Common Lisp. It breaks down learning into small steps. It gives great explanations and great examples!!
19 reviews3 followers
May 10, 2016
So, I've finished reading this book. I found it enjoyable, but it didn't show the reason why Lisp users say that the language is so much superior to many other languages... (I mean no C / Java / Pascal programmer says that his language is the best, but for Lisp programmers it's very common). To me Lisp seems just like a weird mix of Pascal, Javascript, Dash, Java and Oz, nothing really particular...
Profile Image for Aleksei.
47 reviews
May 7, 2021
Such a good one!

"A Gentle Introduction" is a pretty solid introductory book into the CL. Makes the reader feel the language and that particular effect is very important for the "first books". Most of the "keyboard exercises" (each one is a kind of mini-project) are fun and even pretty challenging even for the non-beginners as I am. This book isn't the first Lisp book I have read, but definitely one of the best ones!
Profile Image for Marco Bitetto.
Author 32 books8 followers
September 1, 2015
This book is a must have for anyone that is looking to
or is practicing programming for artificial intelligence
based applications...
It is extremely readable and understandable for anyone
that is college bound and already is familiar with at
least one modern object oriented programming language.
Profile Image for Himanshu.
19 reviews1 follower
June 10, 2011
The first half of the book is good introductory material for Lisp beginners and I mostly skimmed through the second half.
Profile Image for Unlearned Hand.
2 reviews3 followers
June 23, 2014
The book that introduced me to Lisp -- classic! I'd probably want this to be my kids' first programming book.
Displaying 1 - 16 of 16 reviews

Can't find what you're looking for?

Get help and learn more about the design.