Trade in Yours
For a 11.75 Gift Card
Trade in
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Tell the Publisher!
Id like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

On LISP: Advanced Techniques for Common LISP [Perfect Paperback]

Paul Graham
4.0 out of 5 stars  See all reviews (1 customer review)

Available from these sellers.

Trade In this Item for up to 11.75
Trade in On LISP: Advanced Techniques for Common LISP for an Amazon Gift Card of up to 11.75, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Perfect Paperback: 413 pages
  • Publisher: Prentice Hall; 1 edition (9 Sep 1993)
  • Language: English
  • ISBN-10: 0130305529
  • ISBN-13: 978-0130305527
  • Product Dimensions: 22.6 x 15 x 1.8 cm
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 1,525,707 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description


Written by a LISP expert, this is the most comprehensive tutorial available on the advanced LISP features and programming techniques. It shows how to program in the bottom-up style that is ideal for LISP programming, and includes a unique, practical collection of LISP programming techniques that shows how to take advantage of the languages design for highly efficient programming in a wide variety of (non-artificial intelligence) applications.* uses an innovative bottom-up approach to programming in LISP - an approach that is ideally suited to LISP and especially effective in dealing with unusually large or difficult programs. * offers a complete tutorial on valuable LISP macros and LISP macro programming techniques, including practical advice on when - and when not - to use macros. * shows how to put Lisp macros to work in a variety of real applications. * explains what makes LISP different from other languages - how to do in LISP what cant be done - or done easily - in other languages. * begins with two comprehensive chapters on functions and shows how to use functions to extend LISP.

* covers embedded languages, showing how to use LISP for a database application and how to build a programming environment on top of LISP. * covers object-oriented programming and advanced data structures. * contains hundreds of working examples - ranging from single expressions to a working Prolog implementation.

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Reviews

5 star
3 star
2 star
1 star
4.0 out of 5 stars
4.0 out of 5 stars
Most Helpful Customer Reviews
1 of 2 people found the following review helpful
4.0 out of 5 stars I'll read it 19 Nov 2011
Format:Perfect Paperback
I have not yet read the book (sorry, but I had to rate it) but I want to read it because this and other Graham's writings are recommended in Let Over Lambda. As it was impossible getting it new directly from Amazon, and other sources were very expensive, I looked for it and I have found that Graham have got back the copyright and you can download for free the book (except some figures that have been lost) from paulgraham web.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 4.7 out of 5 stars  15 reviews
148 of 149 people found the following review helpful
5.0 out of 5 stars Read this book 9 May 2000
By Peter Norvig - Published on
Format:Perfect Paperback
When I find something really interesting in a book that I want to remember later, I write the page number on the end page. A good book might get 5 to 10 page numbers so noted. My copy of On Lisp has 25. Now, not every one of the 25 contains something I agree completely with, but they all made me think. If you're experienced at Lisp, you'll find a similar number of thought-provoking ideas, and if you're new to Lisp, you'll find a whole new way of looking at programming (and you'll find that you can apply the new ideas to other languages as well).
Looking at Graham's code felt like reading my own code masterfully translated, say, from Danish to Swedish. A lot of the ideas are the same, some of the old friends had new names, and there were some new friends that I had never bothered to abstract and name, but recognized instantly once Graham did so (e.g. mapcars, fn).
Along with the ideas, I admire the many handy turns of phrase that make the book a real page-turner:
"It used to be thought that you could judge someone's character by looking at the shape of his head. Whether or not this is true for people, it is generally true of Lisp programs."
"The classic Common Lisp defmacro is like a cook's knife: an elegant idea which seems dangerous, but which experts use with confidence."
"Lisp is not inherently about processing lists any more than Polo shirts are for Polo" (Note that the sentence would have been a little confusing if Graham had written "list processing" rather than "processing lists". In Graham's prose, like his code, every word counts. Time and again I can only say "I wish I had thought of that.")
98 of 99 people found the following review helpful
5.0 out of 5 stars It is available (legally) for free download 14 Jun 2003
By KY Bike Rider - Published on
Format:Perfect Paperback
Go to paul graham's website and download this book for free now. You'll be happy you did.
24 of 24 people found the following review helpful
5.0 out of 5 stars Be a better programmer, not just a better Lisp programmer 25 Jun 2002
By A Customer - Published on
Format:Perfect Paperback
There are dozens of programming texts that I recommend to people who want to understand various topics. There are only a small handful that I recommend to programmers who aren't using the tool or language that the book covers. This is one of those books. It requires a prior knowledge of Lisp, but not expert knowledge. Paul Graham rewards his readers with a much deeper understanding of the merits of Lisp and how to take advantage of the power it provides.
Paul Graham has commented on his web site ..., "It seems to me that there have been two really clean, consistent models of programming so far: the C model and the Lisp model. These two seem points of high ground, with swampy lowlands between them. As computers have grown more powerful, the new languages being developed have been moving steadily toward the Lisp model." I read that comment before I read On Lisp. It was fresh in my mind at the time, and I saw some of the features of Lisp in C++ and Java. Graham cites runtime type checking and garbage collection, but there are subtler features that appear in the C++ STL. When he described using macros to create functions as needed, his examples immediately brought to mind some of the templates for various "helper" classes; pair, for example. But he could equally well be talking about some of the classes in the Java runtime that are designed to be derived from. The bottom line is that this book is an excellent tutorial on good library design. It teaches by example the philosophy behind creating libraries that extend your language, either in general ways or specifically for the problem domain.
Paul Graham handles Lisp lovingly as an expert craftsman. An observant reader can learn a great deal about craftsmanship from his book. Eric Raymond stated in his essay How To Become A Hacker, "LISP is worth learning for a different reason - the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot." Mr. Graham has commented about this specific quote wondering why anyone would learn about a great tool and then not use it. Lisp in general and this book specifically are an answer to that question. Lisp is not a single language. It is a family of languages that share a common philosophy and a core. Once you learn what gives Lisp its power, you can choose to enhance any tools you use with some measure of that power.
17 of 17 people found the following review helpful
5.0 out of 5 stars I read it twice 31 May 2000
By A Customer - Published on
Format:Perfect Paperback
This is the only technical book I've read cover-to-cover *twice*. As others have noted, the author treats macros in *far* greater detail than any other books on Lisp. Furthermore, I thought his example code was more easily understood than most programming books.
The only caveat: this book *is not* for people beginning lisp. Given it's title, this obviously doesn't reflect poorly on the book.
13 of 13 people found the following review helpful
5.0 out of 5 stars Excellent, but hard to find 3 Feb 2002
By A Customer - Published on
Format:Perfect Paperback
This is an excellent book, and if you understand it it will make you a better lisp programmer. See the other reviews here or search through the comp.lang.lisp archives for testemonials. Yes, it's _that_ awesome...but unfortunately On Lisp is out of print, and is really hard to find used copies of--probably because nobody wants to part with it. Furthermore, it doesn't look like Prentice Hall, or anyone else will be publishing it any more. Fortunately, Paul Graham has made this available in postscript and pdf forms on his website. It's missing a few figures, but will definitely be helpful for everyone who has been patiently waiting months for a copy. Thanks, Paul!
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category