Steven D'Aprano wrote: > With Lisp macros, even that isn't guaranteed. Now, if Lispers would say > "Oh yes, macros give you great power, and with great power comes great > responsibility. Be careful." then, no doubt, we'd take you guys more > seriously.
Who are "we"? I was a heavy Python and Java user before being aware of Lisp. I knew even then that there was something wrong with the programming world, because there were too many programming patterns I could not automate away within the language. It's ironic to be a programmer who can't automate her own work. I told people that programming was just "glorified accounting." I shrugged when reading about how complexity was exploding, because that was the language designers' job to manage it. Upon hearing of Lisp, I taught it to myself alone, because it was important. Despite all the FUD, despite all the people who presumed that a language designer was smarter than his users. I came to realize that the programming world was full of users who repeated "conventional wisdom" based on generalities they heard from a friend of a friend of an evangelist of a corporation -- and worse yet, I was part of that culture and picked up those poor habits. > Now, if you want to tell me that, despite all the talk, Lisp coders don't > actually create new syntax or mini-languages all that often, that they > just use macros as functions, then the question becomes: why do you need > macros then if you are just using them as functions? Why not use functions? You may wish to read the following: <http://www.defmacro.org/ramblings/lisp.html> Perhaps Lisp becomes clearer once you see its syntactic similarity with a very mainstream language -- XML. (But sexps are far more lucid than XML.) Then we can seriously talk about the real-world engineering implications of macros, and other powerful features which aren't so hyped as macros. Tayssir -- http://mail.python.org/mailman/listinfo/python-list