This is a collection of Lisp / Scheme books and online resources.

Please any suggestions, questions, changes, or corrections.

Last Update: April 2015

What is Lisp?

"Lisp is a multi-paradigm, reflective programming language with a long history.

The name Lisp derives from "List Processing". Linked lists are one of Lisp languages' major data structures, and identical basic list operations work in all Lisp dialects. Other common features in Lisp dialects include strong dynamic typing, functional programming support, and the ability to manipulate source code as data.

Lisp Machines were general-purpose computers designed (usually through hardware support) to efficiently run Lisp as their main software language. In a sense, they were the first commercial single-user workstations."

-- Wikipedia

(Courtesy of xkcd)

The Language

Entries for Lisp and Common Lisp at Wikipedia

The Common Lisp FAQ

Free (no-cost) Lisp implementations:

  • CMU Common Lisp
  • Steel Bank Common Lisp
  • Clozure CL
  • GNU Common Lisp
  • Armed Bear Common Lisp
  • Embeddable Common Lisp
  • Hedgehog Lisp
  • newLISP
  • Star Sapphire Common Lisp
  • Pico Lisp
  • SLISP - a Lisp interpreter
  • Lispworks Personal Edition
  • Allegro Common Lisp 8.0 Free Express Edition
  • Nyquist is a sound synthesis and composition language based on a superset of XLisp
  • Macintosh Common Lisp (now open-source)

Commercial Lisp Implementations:

  • Allegro Common Lisp
  • Lispworks
  • Corman Lisp
  • Scieneer Common Lisp (which also has a free restricted non-commercial version)

New Lisp Books

Land of Lisp is Conrad Barski's book that teaches you Lisp through cartoons and designing games.

Lisp Lore: A Guide to Programming the LISP Machine, long out of print, is finally available online at the Internet Archive.

Online Books in PDF format

Practical Common Lisp by Peter Seibel is a great Lisp tutorial and is also my favorite Lisp book.
The book is now available as a free PDF thanks to the publisher, Apress (url updated 9/13/07)

Common Lisp: The Language
© 1984 Guy Steele / Digital Press

Common Lisp: A Gentle Introduction to Symbolic Computation
© 1990 Symbolic Technology Ltd. / David S. Touretzky

Basic Lisp Techniques by David Cooper, Jr.

On Lisp: Advanced Techniques for Common Lisp
© 1993 Paul Graham

Lisp 1.5 Programmer's Manual
1962 John McCarthy, Paul Abrahams, Daniel Edwards, Timothy Hart, Michael Levin / MIT Press
Courtesy of Paul McJones' History of LISP project pages at the Computer History Museum

Performance and Evaluation of Lisp Systems
© 1985 Richard P. Gabriel / MIT Press

Patterns of Software: Tales from the Software Community
© 1996 Richard P. Gabriel / Oxford University Press

Other Online Books and Information

The Lisp FAQ
The Common Lisp Cookbook
Successful Lisp by David Lamkins
Casting SPELs in Lisp by Conrad Barski, M.D.
Common Lisp - An Interactive Approach by Stuart Shapiro
Loving Lisp - the Savy Programmer's Secret Weapon by Mark Watson
Interpreting Lisp by Gary D. Knott
Paradigms of Artificial Intelligence Programming by Peter Norvig
The Common Lisp HyperSpec (version 7.0, courtesy of LispWorks
The Common Lisp Object System MetaObject Protocol
The Common Lisp Cookbook
An Introduction and Tutorial for Common Lisp
Fundamentals of the Common Lisp Object System by Nick Levine
A Brief Guide to the Common Lisp Object System by Jeff Dalton
Warp Speed Introduction to CLOS by Joe Marshall
Common Lisp Object Standard is a 1987 video from University Video Communications
The comp.lang.lisp Usenet newsgroup is available via Google Groups.
CLiki is the Common Lisp Wiki
The Association of Lisp Users Wiki has lots of Lisp information
The Common Lisp Gardeners project is working to make CL more attractive to end users.
The Quick #lisp Guide to Starting with Common Lisp
Lisp Quotes
Writing a Raytracer in LISP

Lisp Movies

Lisp "movies", screencasts, and tutorials by:

  • Sven Van Caekeberghe
  • Rainer Joswig
  • Bill Clementson
  • Marco Baringer (UCW, SLIME)

Scheme Stuff

Scheme is a dialect of Lisp used a lot in computer science education. Some people prefer it to Common Lisp.

The Scheme language is defined in the Revised(5) Report on the Algorithmic Language Scheme

Scheme Implementations:

  • Racket (formerly PLT Scheme)
  • Chez Scheme
  • Chicken Scheme
  • Gambit Scheme
  • GNU Guile
  • JScheme
  • MIT/GNU Scheme
  • Scheme 48
  • STk
  • TinyScheme
  • JazzScheme

The classic text Structure and Interpretation of Computer Programs (HTML, PDF, TexInfo) was used in the introductory Computer Science course at MIT until 2005.
Video lectures to accompany the text are available from MIT, Berkeley, and Ars Digita University.

Concrete Abstractions - An Introduction to Computer Science Using Scheme by Max Hailperin, Barbara Kaiser, and Karl Knight is available online for free as a PDF.

The Little Schemer is an update of "The Little LISPer", and should be read by anyone seriously working with Lisp or Scheme.

How To Design Programs is a good introductory programming book (using scheme) from MIT Press, available online as HTML.

A good online Scheme tutorial is "Teach Yourself Scheme in Fixnum Days".

Sketchy LISP by Nils Holm is "A Condensed Introduction to Functional Programming in Scheme."

Text Editors and Development Environments

Emacs is the traditional editor for Lisp development.
Zmacs was an Emacs precursor found on the MIT CADR and Symbolics Lisp machines.
An Introduction to the EMACS Editor (MIT AI Labs Memo 447, 1978)

I use GNU Emacs.

  • The GNU Emacs Manual
  • Introduction to Emacs Lisp Programming
  • Emacs Lisp Reference Manual

Some people prefer XEmacs instead.

  • Getting Started with XEmacs
  • XEmacs Users Manual
  • XEmacs Lisp Reference Manual
  • XEmacs Internals Manual

Marco Baringer created a video showing the use of SLIME, the Superior Lisp Interaction Mode for Emacs.
ERC is a popular Internet Relay Chat client written in Emacs Lisp.
Gnus is a Usenet news reader written in Emacs Lisp.

Lisp Machines

I've long been fascinated by Lisp Machines, especially those made by Symbolics.

If you have any Lisp Machine hardware, software, or documentation that needs a home, .

A near-complete set of

The LISP Machine Progress Report (MIT AI Labs memo 444, 1977)
LISP Machine Hardware (MIT AI Labs memo 528, 1979)
MIT CONS and CADR Lisp Machine documentation (from the BitSavers archive).
Lisp Machine Manual in hypertext format

Brad Parker has developed an emulator for the CADR Lisp Machine.
Alastair Bridgewater has an emulator for the Texas Instruments Explorer I.
Daniel Seagraves has an emulator for the Explorer I as well.
LispMachinery is a wiki for Lisp Machine hackers and emulators.

Xerox has an emulator of their Interlisp-D environment running Medley available.
BitSavers has rescued some Interlisp-D documentation.

Symbolics still has a website and offers a limited selection of hardware and software for sale
Ralf Moller's Symbolics Lisp Machine Museum
Rainer Joswig's Page with lots of Symbolics videos, screenshots, and marketing materials
Bruce's Symbolics Page has pictures of his two Symbolics systems
Peter Paine has Lisp Machine Supplies and Information in the UK
The Symbolics Museum
Jaap Weel's LispM Page
Glenn Ehrlich has an XL1200
A Few Things I Know about Lisp Machines by Fare' Rideau
A Brief History of Lisp Machines by Dave Dyer
The Retro-Computing Society of Rhode Island has four 3600-series machines
Antonio Leitao's Experiences using Lisp Machines and thoughts on a new LispOS
Stanislav Datskovskiy has a Symbolics 3620 and is attempting to design an interface for a modern monitor.

Other Links

I keep lists of Lisp and Scheme bookmarks at Pinboard (moved from
Planet Lisp and Planet Scheme keep me up to date date with the latest Lisp and Scheme happenings.
Bill Clementson has an excellent list of Lisp books online.

Bill Bradford