In the "Macro Basics" section, he seems to completely glaze over the _other_ problem with unhygenic macros.[1]<p>Consider:<p><pre><code> (defmacro square (x)
`(* ,x ,x))
(let ((* my-vector-dot-product))
...
(square (* bar baz)))
</code></pre>
He seems a bit brash in his attacks on Scheme and insistence that hygenic macros are bad. He doesn't even mention Clinger's explicit renaming macros which solve the problem without using a DSL (an approach which he derides).<p>Also, what about side effecting arguments to macros? I'm hesitant to put too much credence in this book when it seems to ignore significant problems with defmacro.<p>[1] <a href="http://letoverlambda.com/index.cl/guest/chap3.html#sec_5" rel="nofollow">http://letoverlambda.com/index.cl/guest/chap3.html#sec_5</a>
I wrote a review a couple of years ago: <a href="http://carcaddar.blogspot.com/2009/04/review-let-over-lambda.html" rel="nofollow">http://carcaddar.blogspot.com/2009/04/review-let-over-lambda...</a><p>Chapters 7 and 8 haven't been posted online; it's worth purchasing the book to read them.
Oops,they shouldn't translate the title into Japanese at News (see about the book), as its sold as "Let over Lambda 1.0" as same as English. Of course contents are translated.