This book is sort of a trap because some of the macros it defines make assumptions that are not guaranteed by the language specification: every once in a while, you’ll find people on IRC or similar asking for help with some of the examples from this book.
Also, IMO, the defmacro/g macro defined in this book would have been better defined as a reader macro than as a codewalking macro.
If I recall somewhere around SBCL 1.2 they changed the way the backquote worked (totally fine for them to do that as it wasn't specified in the standard..) which broke the Let over Lambda macro.
Note, it's been a while since I looked at it so I could have some of the details wrong. The book is still well worth reading to help you understand the possibilities with a programmable programming language, but just bear in mind the various caveats..
> make assumptions that are not guaranteed by the language specification
I haven't read it, I have to confess. It would be useful if those assumptions were explicitly mentioned and explained in the book.
Some of the advanced macro stuff is easily outside of the standard and can be still useful, which for example lacks some of the environment features described in CLtL2.
I would recommend it to a Lisp enthusiast as a third after On Lisp. That's how I read it, anyway.
Many things in LOL are quite opinionated. I don't think it's a distillation of knowledge (like On Lisp), but rather an exploration how far you can take some things (macros).
No, it's not. Others have suggested other great books for beginners, like Practical Common Lisp. You'll get the most from Let Over Lambda after you've already got a bit of experience with Lisp.
Also, IMO, the defmacro/g macro defined in this book would have been better defined as a reader macro than as a codewalking macro.