Introduction to Common Lisp
Where to start with the Common Lisp language
See also: Common Lisp links
2018: start here:
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
of Practical Common Lisp,
a well respected study of
languages and of course,
Paul Graham's much discussed
or power, these have long
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 Lisp
-- HIGHLY RECOMMENDED
- by Peter Seibel;
Although free on-line, the
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
This is by far the best book, especially if you've already
learned the basics in college or from an embedded version such as
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;
The last 100 or so pages are the closest thing to an
O'Reilly pocket reference
that you're likely to find.
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:
- also by Paul Graham;
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
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:
How to Understand and Use Common Lisp
- by David B. Lamkins,
Richard P. Gabriel)
- Other Lisp books
- Those published prior to the mid-1990's are cataloged at the
old Lisp FAQ:
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.
- Try: interactive Lisp via Telnet
- This is free access to Allegro Common Lisp! (Alternatively, use the
Better yet, use it while following this wonderful
The Common Lisp Cookbook
- A collection of software techniques in Lisp. (This is not yet an
actual book-- just a repository of code.)
Common Lisp Open Code Collection
- a special version of Lisp in a Box
pre-configured sufficient for learning (but be aware that certain
features may be disabled to avoid confusion while working through
examples in the book).
- Dynamic Learning Center
- for teachers and students
- Usenet News: comp.lang.lisp
- via google
- Common Lisp
engines, advocacy and education, circa late 2007 and updated through 2010
History & Standards
- 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:
- 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.
- For historical purposes:
notes from the 1994 ANSI X3J13
- 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
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?
(n.b., it's no longer written in all caps.)
- Please write "
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.