Shop now Shop now Shop now Up to 50% off Fashion Prime Photos Shop now Learn More Fireworks GNO Shop now Shop Fire Shop Kindle Bundle for Kids Listen in Prime Shop Now Shop now
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

On LISP: Advanced Techniques for Common LISP Perfect Paperback – 9 Sep 1993

1 customer review

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
Perfect Paperback
"Please retry"
£176.93 £59.33

Special Offers and Product Promotions

  • Save £20 on with the aqua Classic card. Get an initial credit line of £250-£1,200 and build your credit rating. Representative 32.9% APR (variable). Subject to term and conditions. Learn more.

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet and computer.

  • Apple
  • Android
  • Windows Phone

To get the free app, enter your e-mail address or mobile phone number.

Product details

  • Perfect Paperback: 413 pages
  • Publisher: Pearson; 1 edition (9 Sept. 1993)
  • Language: English
  • ISBN-10: 0130305529
  • ISBN-13: 978-0130305527
  • Product Dimensions: 1.9 x 15.9 x 23.5 cm
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 931,010 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.

Customer Reviews

4.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

1 of 5 people found the following review helpful By Javier Macias on 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? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Helpful Customer Reviews on (beta) 16 reviews
158 of 159 people found the following review helpful
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.")
106 of 107 people found the following review helpful
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.
25 of 25 people found the following review helpful
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
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
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