Arc Forumnew | comments | leaders | submitlogin
5 points by pg 6135 days ago | link | parent

What defmacro does is so simple and elegant. A macro is just a function than returns an expression. I wouldn't want to discard that simplicity in return for a solution to something I know from many years' experience is a non-problem.


4 points by kennytilton 6135 days ago | link

Perhaps the pro-hygiene crowd needs to step up and tell us unhygienic types how long they have programmed with unhygienic macros and how often they have run afoul of variable capture. I am reminded of static/dynamic debates in which the pro-static crowd wants it to be taken as a given that it is better to have type errors detected at compile time. There is a prima facie compellingness to such assertions that may not pan out in practice, and at bottom the pro-safety crowd might just be imposing their (sorry) timidity on those of us who prefer to climb unroped in return for getting up the peak faster, which itself does more for safety when the climber is capable. uhoh, here comes my Reinhold Messner analogy....

-----

1 point by andreuri2000 6133 days ago | link

I regard it more as a lexical binding/dynamic binding debate. DEFMACRO or MAC are like dynamic binding, because the meaning of a macro can be affected by local variable bindings surrounding its site of use, contrary to the intended meaning of the macro writer at the definition site.

-----