Review of "Paradigms of AI Programming"

Paradigms of AI Programming: case studies in Common Lisp, by Peter Norvig. ISBN 155860191-0.

(Peter Norvig’s web site includes some pages about this book.)

This is a big book: nearly 950 pages. It is astonishing how much good stuff is packed into those pages.

The first theme of the book is a programming language: Common Lisp. Lisp has a pretty poor reputation in most circles, mostly for very stupid reasons. Norvig’s book shows its considerable power to great advantage. It also contains a brief (but good) introduction to the language, a superb discussion of how to write efficient programs in Lisp, and -- through the many programs and fragments of programs contained in the text -- a wealth of information about good Lisp programming style.

The second theme is artificial intelligence. Norvig presents (with plenty of code) a number of AI programs, and discusses how they work, what their limitations are, how to make them better, why they’re built the way they are, and so forth. He begins with early ones like Newell and Simon’s laughably named "General Problem Solver", and ends at a much higher level, with a rather sophisticated parser for English sentences using a "unification grammar" via a Prolog implementation embedded in Lisp.

Norvig writes well, he programs well, and he writes well about programs. There’s scarcely a dull page among those 950-odd.