Introduction to Common Lisp

Where to start with the Common Lisp language

See also: Common Lisp links

2018: start here: Lisp-Lang.org, and ask questions on #lisp

Common Lisp Quick Reference for the language and Quickref (repo) reference manuals for libraries available via Quicklisp

If you're asking why lisp?— or If Lisp Is So Great, why don't more people use it?— I offer my personal answer and opinions, direct you to the back cover of Practical Common Lisp, a well respected study of languages and of course, Paul Graham's much discussed 2002 essay.

If you question Lisp's speed or power, these have long been addressed. As with anything, the more you know (and can get out of your own way), the better you become. Books mentioned below can help you get there.


On-line Book: Practical Common LispHIGHLY RECOMMENDED
by Peter Seibel; © 2003-05; Although free on-line, the hardcover and trade paper editions are still worth the price!

Peter does an excellent job presenting Lisp for contemporary tasks and offers appropriate comparisons to Python, Perl, Java, C++ and other languages.

This is by far the best book, especially if you've already learned the basics in college or from an embedded version such as Emacs Lisp or AutoCAD's AutoLisp.

Peter Seibel has performed a wonderful service by making his book free to read on his website.

Book: Common Lisp Recipes
by Edi Weitz; © 2016; for when you're versed in Peter Seibel's book (above) and ready to go deeper
Book: ANSI Common Lisp
by Paul Graham; © 1995; 65-0133708756-1

The last 100 or so pages was the closest thing to an O'Reilly pocket reference until Common Lisp Quick Reference arrived.

While I highly recommend his essays, this makes for a better second book by today's approach to learning languages. Once beyond the basics, it's beneficial having more than one source of information.

After he releases Arc, we can probably expect a new book, one hopefully as much a pleasure to read as Hackers & Painters.

On-line book: On Lisp
also by Paul Graham; © 1993

It's still very much contemporary, despite predating the final ANSI spec of the following year. In fact, it comes highly recommended by seasoned Lisp programmers as the book for learning advanced macro wizardry.

After doing the occasional search for specific content and finally reading this fine book cover-to-cover, only now do I have a profound appreciation for it. However, I still place this as a third book to get for when you're ready.

Paul Graham clearly and gracefully explains things like what all the fuss about "functional programming" really means within context as well as revealing idiomatic usage, so it's like having a Lisp hacker at your side!

This is truly a gift to the community!

On-line book: Successful Lisp: How to Understand and Use Common Lisp
by David B. Lamkins, © 2003 (Forward by Richard P. Gabriel) 3-937526-00-5
Other Lisp books
Those published prior to the mid-1990's are cataloged at the old Lisp FAQ: 1.3 and also worth noting is Structure and Interpretation of Computer Programs [Scheme]. There are many other wonderful and worthwhile books such as a couple from Peter Norvig. By the time you're ready, you'll know and will find them.

Older Collections & Links

Common Lisp Survey
engines, advocacy and education— much still applicable in 2018
The Common Lisp Cookbook
Not to be confused with the book (above), this is just a collection of software techniques in Lisp
Common Lisp Open Code Collection (clocc)

History & Standards

Optionally:
Since many of us weren't there as Lisp itself was being developed, learning the history is helpful in understanding why things are the way they are such as naming conventions, etc. Continue reading if you're interested in such matters...
Start with this Gabriel and Steele article: The Evolution of Lisp
A short version may be found as a chapter of History of Programming Languages II.
CDR: watch postmodern Lisp standards as they take form
Common Lisp Document Repository
ANSI Common Lisp standards: NCITS/J13 Document Repository
NCITS/J13 is the InterNational Committee for Information Technology Standards (NCITS) technical committee for Lisp. J13 maintains the ANSI standard for Common Lisp.
Xerox PARC previously hosted notes from the 1994 ANSI X3J13 standards process but no longer available
Try: dpans2texi or Well-Specified-Common-Lisp
Common Lisp the Language, 2nd Edition (CLtL2)
Warning: this was published while ANSI Common Lisp committee was still working, so some things changed; See Converting CLtL2 to ANSI CL
ANSI and GNU Common Lisp Document
Partial history of Emacs
Faré's A few things I know about LISP Machines
Features documents on early Lisp-based computers, among many other things.

Jobs— employers & employees

How marketable is Lisp as a programming language skill?

  LISP   (n.b., it's no longer written in all caps.)
Please write "Lisp".
Anyone using the former notation in the twenty-first century probably only used the language in college for one or two classes; regardless, it's a clue that their Lisp understanding and/or skills are outdated.

PS – While you can use it as merely a substitute for just about any language, it's best to learn the Lisp idioms for efficiency, readability and reuse. As someone who knew Perl and Java, was able to adopt Python and start writing production code after a day or two, you may find it takes a year to reach an equivalent level of proficiency with Common Lisp.

The learning curve can be fierce, but you're probably learning Lisp, Emacs, SLIME, how to interpret the HyperSpec and which libraries to use, all at the same time.

There's no magic pill to bypass the learning curve; there's no need to modernize Lisp's syntax; there's a strong and valid reason why libraries standard in other languages are effectively rewritten by each Lisp hacker; and when you're about one year into progressively deeper Lisp development, you'll understand, appreciate and relish the reasons why! That's a good place to be, and this page is to help you get there.

Copyright © 2005-2018 Daniel Joseph Pezely
May be licensed via Creative Commons Attribution.