Paradigms of Artificial Intelligence Programming

This is an open-source repository for the book Paradigms of Artificial
Intelligence Programming: Case Studies in Common Lisp
by Peter Norvig (1992), and the code contained therein. The copyright has reverted to the author, who has shared it here under MIT license.

The Book

The book is available in these formats:

  • pdf: see releases for a scanned version
  • text: PAIP.txt (from OCR’ing the scanned pdf, containing many errors)
  • epub: see releases for a cleaned up version downloaded from Safari (much cleaner than the scanned versions)
  • and chapter?.md markdown files:

As seen on TV. See also: errata, comments, retrospective.

The Lisp Files

The Lisp code files are listed here:

There is no single “application” to run. Rather, there is a collection of source code files,
duplicating the code in the book. You can read and/or run whatever you like. Lisp is an interactive language,
and you will need to interact with the code to get benefit from it. Some hints:

  • You will need a Common Lisp interpreter/compiler/environment. Here’s a discussion of the options.
  • You will always need (load "auxfns.lisp").
  • You will need (requires "file"), for the various
    instances of file that you want to use. (If requires does not work properly on
    your system you may have to alter its definition, in
  • The function do-examples, which takes as an argument either :all
    or a chapter number or a list of chapter numbers, can be used to see examples
    of the use of various functions. For example, (do-examples 1) shows
    the examples from chapter 1. Access this by doing (requires "examples").

Read More