|
|||||||||||||||||||||||||||||||||||
|
6 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
89 of 90 people found the following review helpful:
5.0 out of 5 stars
Advanced. Audacious. Inspirational.,
This review is from: Let Over Lambda (Paperback)
Let over Lambda is an exploratory journey into advanced techniques involving Common Lisp features and language properties, that can be combined in ways that result in more than the sum of their parts.There are plenty of "wow, that is cool" moments and useful constructs demonstrated, that will probably make it into the reader's toolkit. But of greater importance is the progression in how these are delivered. While not a broad tutorial in Common Lisp (although the reader-macro chapter could serve fairly well in that capacity), Let over Lambda contains an underlying tutorial on the incremental/iterative development of such macros/tools against desired requirements - building up to constructs via interim revisions and explanations. A book involving Lisp has little choice but to stand on the shoulders of giants, and by necessity these are frequently referenced and cited. The most important of these is Graham's "On Lisp" (currently available for free download) - which, while attempting to cover the breadth of the language, is regarded as one of the more advanced texts on macros. Some topics introduced in On Lisp (such as the leveraging of unhygienic macros) are taken much further in Let over Lambda, and combined with other constructs (such as capture/closures) that would have to be described separately in more general purpose tutorial or language overview. The writing style definitely includes an "attitude" that is partially inherent to the material being discussed and partially from the author's obvious passion (a passion that becomes REALLY obvious in the Forth chapter). Hoyte often highlights the blanket superiority of Common Lisp over all other languages; but to a reader who has put in the time to learn Lisp macrology in enough detail to understand this book, this isn't a particularly large stretch. Also, certain comfortable safety idioms are challenged as being more safeguards for beginners. On several occasions, the reader receives an explanation: "Here is the what and why of adhering to restriction X. Now here are the incredible things that become possible when you break it!" This is demonstrated via unhygienic macros, as well as the broader concept of "duality of syntax" - a definition that evolves throughout the book. Early in the introduction Hoyte states that macros (in a language that can leverage them) are more than just boilerplate-reduction tools for known simple cases; but that their power represents a sort of "uncharted territory" of immense potential. Certain common (seemingly) ideological arguments (things like lisp-1 vs lisp-2), were laid out against a backdrop of examples and threaded into the theme of the entire book. While often going out on a limb, the author makes his case. I was inspired by this book.
32 of 33 people found the following review helpful:
5.0 out of 5 stars
Mind blowing tutorial to macro writing,
By
Amazon Verified Purchase(What's this?)
This review is from: Let Over Lambda (Paperback)
This book is for intermediate or advanced lisper. It's great writing, with excellent style and very fun to read. Doug Hoyte is extremely intelligent person who shared his specific techniques of metaprogramming and macro writing. Reading this book will introduce you to many cool utilities and knowledge that will advance your lisp macro skills. Paraphrasing Alan Perlis : a book that doesn't affect the way you think about programming, is not worth reading. And let over lambda certainly will influence the way you think. You might disagree with Hoyte, or ignore his advice but you will certainly learn there is another way of lisping.
29 of 30 people found the following review helpful:
5.0 out of 5 stars
Another lisp book to add to your collection,
This review is from: Let Over Lambda (Paperback)
I've recently moved up from being a lisp beginner to an intermediate lisp user. Part of doing that is reaching a better understanding of closures and writing macros. LoL does a good job of helping you get to that next stage in the first set of chapters (my favorite part of the book). I find Doug's writing style to be easy to follow and somewhat more enjoyable than Paul Graham's OnLisp. LoL uses macros in ways not covered in other lisp texts including OnLisp. For that reason alone is it worth getting. I'm still growing as a lisp programmer and the other chapters are still beyond my understanding but I can easily see myself coming back to it when I'm ready.
15 of 15 people found the following review helpful:
5.0 out of 5 stars
Highly Recommended,
Amazon Verified Purchase(What's this?)
This review is from: Let Over Lambda (Paperback)
I haven't finished it, but like another reviewer I am being inspired by this book.In the first couple of chapters, the author shows examples of assembler, C and Lisp, mostly in preparation for introducing lexical closures. Closures, it turns out, are generated easily in Lisp by using the construction "let over lambda". Regarding closures, I agree with the author that most of us have been left "with the inaccurate impression that closures are only good for toy examples like counter." But in fact, "closures are the building blocks of Lisp. Environments, the functions defined inside those environments, and macros like defun that make using them convenient, are all that are needed for modelling any problem." And in fact, the author's aim is "to stop beginning Lisp programmers . . . from . . . reaching for systems like CLOS." Yes, CLOS offers certain things, but ". . . do not use [CLOS] when a lambda will suffice." If you're like me, you find all this very refreshing and stimulating. From pages 31-37, the author deftly shows how objects are collections of procedures and associated state, and how the entire object infrastructure is easily derived from the lexical closure, otherwise known as "let over lambda," and combinations of "let over lambda over let over lambda." The ease and power with which this is demonstrated is breath-taking. A couple of more quotes: "Object systems are a formalisation of a subset of let and lambda combinations, sometimes with gimmicks like inheritance bolted on (footnote 10: Having macros is immeasurably more important than having inheritance.)" And, "Once assignable value cells and good old lambda expressions are available, object systems are, at best, occasionally useful abstractions and, at worst, special-case and redundant." As I indicated, I have not finished the book, but the first couple of chapters have given me plenty to consider. I highly recommend this book.
14 of 14 people found the following review helpful:
5.0 out of 5 stars
A true eye opener,
This review is from: Let Over Lambda (Paperback)
It took me over 3 months to read this book cover to cover. Although I haven't read Graham's 'On Lisp', which is why it may have taken so long for me to read this book. That said, I learned more about programming in lisp (and programming in general) during the last three months than I have over the past two years that I've been exposed to the language.By far, my favorite section of the book is in Chapter 6, on pandoric macros. I was immediately able to apply 'plambda' and 'with-pandoric' to my own code as soon as I saw them. Such a wonderful abstraction. Doug Hoyte, you've turned me into a lisp lifer. Thanks! -Clayton
14 of 15 people found the following review helpful:
4.0 out of 5 stars
Despite the annoying Common Lisp evangelism this is a great book for the non-novice Lisper.,
By
Amazon Verified Purchase(What's this?)
This review is from: Let Over Lambda (Paperback)
If you know your way through the multiple flavours of Lisp this book becomes really interesting. Doug starts by explaining the basics of why one would want macros in a programming language and quickly moves on to extending the basic Common Lisp language with all sorts of new features; including a very sweet chapter implementing Forth macros. Most of the code is based on lexical closures, hence the book's title.The opinion-to-fact ratio makes the book a very hard read, though. The usual arrogance towards different language and paradigms (please forget that section on Functional Programming) is somewhat expected but makes it really hard to enjoy the text. Even though Hoyte's blind evangelism of Common Lisp is extremely annoying, he is a great hacker and knows how to reuse other people's work --even if originally written in one of the Lisps he despises. If you are fairly new to Lisp in general and Common Lisp in particular I don't think you will find it very interesting. Even if you write code in Clojure -the Lisp most people I know are exposed to these days- I would recommend that you read the fantastic Practical Common Lisp, by Peter Seibel, before trying this one. What I love most about this book is how it teaches you to think of macros as nothing but functions that return lists. The fact that these lists happen to contain code is irrelevant; macros are still functions. Full review: [...] |
|
Most Helpful First | Newest First
|
|
Let Over Lambda by Doug Hoyte (Paperback - April 2, 2008)
$39.95 $35.81
Usually ships in 2 to 3 weeks | ||