Thankfully folks (including me) seem to be starting to cool off, so perhaps we can disucss this in somewhat calmer register. I think that Kenny unintentionally sold macros short by implying that they are merely window-dressing for boilerplate, and you seem to have a misunderstanding of macros, which I won't go into too deeply but to point out that the purpose of macros is not the same as functions. Functions create new ...uuuhh... functionality, whereas macros create new programming constructs. These work in very different conceptual parts of the programming landscape: The former addresses the way that the functions offered by the programming language fit the parts of the problem whereas the latter addresses the way that the programming language itself fits the problem.
So, whereas I will grant that: > "Oh yes, macros give you great power, and with great power comes great > responsibility. Be careful." I don't think that any experience Lisp programming would grant 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 So, to your point: > then the question becomes: why do you need > macros then if you are just using them as functions? Why not use functions? No, they are not functions. We need them because although it is usually possible to make a given programming language's functionally fit any given problem, it is often much more convenient, and much cleaner, both practiaclly and conceptually, to make the programming langauge fit the problem too. -- http://mail.python.org/mailman/listinfo/python-list