7 comments

[ 5.8 ms ] story [ 18.7 ms ] thread
This is a rehash of lisp's meta programming abilities. We get it, with lisp you build the language.
I kinda switched off before the flame-bait portion even started.

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?

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.

.next() makes sense when you think that generators are also iterables and must support the corresponding interface.

having () and .next() would violate Python philosophy: only one way to do it.