Let over Lambda–50 Years of Lisp (2008)
38 points by theanonymousone 4 hours ago | 5 comments
phoe-krk 55 minutes ago
The book is wonderful to read and get your mind blown by all the ingenious, clever, and surprising things that are possible using basic building blocks of Common Lisp - so that you know exactly what code you should NOT be writing when doing Lisp for anything serious and involving other programmers.
replyIt's very good for realizing the difference between what is possible and what is feasible, since Lisp mastery requires both knowledge of what is possible to do and restraint in the actual use of those possibilities. Clever things require cleverer debugging techniques, and Let Over Lambda is absolutely full of the former.
0xcafefood 11 minutes ago
Yeah, its pervasive use of explicitly, deliberately nonhygienic macros was surprising when I first read it. Interesting to consider and also good to understand why it'd be a nightmare to debug code written that way.
replymike_ivanov 12 minutes ago
There is plumbing code and there is porcelain code. There is nothing wrong with being clever in the plumbing area, even with other people peeking under the hood. The porcelain side is more nuanced though - it takes a special kind of cleverness to deliver intent with clarity.
replyA personal anecdote - not long ago I saw a beautiful piece of code (not mine) using the Result monad being rewritten as a chain of nested if statements - all because it was "too clever to understand". Go figure.
I have previously read the printed version, so maybe now is a time for a very brief review. The book is technically fascinating and a worthwhile read, but it is also highly opinionated even by Lisp standards. Then again, it is refreshing in this time and age to see this deeply human and creative side of programming. I wholeheartedly recommend others to read it - and to carefully choose which of the advice to follow and which not :)
Thank you so much, Doug Hoyte, for making this book available to all of us!