Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
On Lisp: Advanced Techniques for Common Lisp Perfect Paperback – September 9, 1993
"Neverworld Wake" by Marisha Pessl
Read the absorbing new psychological suspense thriller from acclaimed New York Times bestselling author Marisha Pessl. Learn more
Customers who viewed this item also viewed
Customers who bought this item also bought
Perhaps the author gives the best description of this book: "On Lisp deals mostly with the kinds of programs you could only write in Lisp." The book provides extensive information on the advanced features of Lisp, which are not found in other popular programming languages. After showing how flexibly functions can be manipulated, On Lisp moves on to the best discussion of macros available, which includes details of the possible pitfalls (various referential bugs, for example). The book concludes with a demonstration of various advanced constructs that can be implemented in Lisp using the tools developed in the earlier part of the book. As with his other book, ANSI Common Lisp, Graham writes in a fluid style that is a pleasure to read.
From the Publisher
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 language's design for highly efficient programming in a wide variety of (non-artificial intelligence) applications.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
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.")
-Now about the actual book-
This is the best Lisp book I have read. This is not dry book with just a bunch of code and exercises, but is instead full of explanation and theory that will make you a better programmer in any language (but after using a lisp why would you use anything else...). Must read.
Paul Graham shows a lot of great programming techniques for Lisp. If you learnt Lisp in a short course as an undergrad, or if you played a bit with it on your own, believe me: you still don't know what really makes Lisp a great language, and why it makes you so productive. This book shows you how to really use all the power of Lisp (using higher-order programming, macros and some other interesting techniques) without shooting yourself in the foot.
I only have two little problems with this book:
- There are no exercises. You know, solving problems is the best way to consolidate newly-acquired knowledge and ability;
- The chapter on continuations presents what can be described as a kind of ugly hack to simulate Scheme continuations on Common Lisp. Perhaps it would have been better to stick to Scheme for the rest of the book?
If you want to learn Lisp and don't yet have experience with a lot of languages, get this as your second book.
If you already know some Lisp, or if you are an experienced programmer and can learn the basics of the syntax of Lisp quickly, thendo read this one.
No matter what your experience level (and I had been a professional Lisp hacker for over ten years when I first read this book), there is something to learn from _On Lisp_. Read it, and improve your ability to conceptualize solutions to your programming problems. END
I personally don't code in Lisp, and if I did, I sure wouldn't do it in Common Lisp, the dialect this book concentrates on. However, this book what I was looking for -- interesting reading about some advanced programming concepts that happen to be demonstrated in Lisp.
This book is relatively free of any grand agendas -- or maybe I've just gotten so used to the usual agendas in Lisp literature that I can just ignore them. And, well, it does occasionally stop to remind you that Common Lisp is the best thing since cat pyjamas and that you're wasting your time if you're using anything else.
But that aside, the book does patiently develop some advanced concepts that I'd never seen a satisfactory explanation of -- notably, pattern matching, nondeterminism, and backtracking. After I read that section, I finally appreciated the implementation of regular expressions, which I use every day.
The only really disparaging thing I can say about this book is that uses Lisp macros rather a lot, where I (and I think most readers) would have been more comfortable with pure functions. This is an obstacle to understanding, but I could usually get the jist of the concept anyway, even if the example code was a bit opaque to me.
Most recent customer reviews
It is a really great book on Lisp and the concept of bottom-up programming. Instead of directly programming in your favoriate (or required) programming language, you...Read more