I kinda switched off before the flame-bait portion even started.<p>The first few paragraphs of text appear to be confusing Lisp/Scheme with 'functional programming' as a paradigm, and making an argument about one using the other. There would be nothing easier about "modifying the way the compiler generates code" in OCaml than in C or anything else (assuming a well-written compiler in each case).
Is there really a difference between a macro and a method or class definition that makes languages supporting both fundamentally more powerful than languages supporting only the latter?<p>This "extending the syntax of the language" looks just like defining a class or method to me; maybe because Lisp doesn't really have much syntax.
Three blog posts I'd love to read (and one that I wouldn't):<p><a href="http://weblog.raganwald.com/2007/10/three-blog-posts-id-love-to-read-and.html" rel="nofollow">http://weblog.raganwald.com/2007/10/three-blog-posts-id-love...</a>
.next() makes sense when you think that generators are also iterables and must support the corresponding interface.<p>having () and .next() would violate Python philosophy: only one way to do it.
That's like steve yegge's <a href="http://steve.yegge.googlepages.com/lisp-wins" rel="nofollow">http://steve.yegge.googlepages.com/lisp-wins</a>
Except written by a teenager (in the bad meaning of that word).