[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(defmacro foo (&whole w) ...)



If by "orthogonal" you mean that too-many-argument checking remains in
place, and that (defmacro foo (&whole x) ...) is required to have NO
subforms in argument position, then I'm against this interpretation.
Once you've given the user a handle on the whole argument form with
&whole, you shouldn't require him to add additional meaningless args
just to confuse Defmacro into allowing subforms without complaining.
That makes for confusing code.  If the user actually wants to make use
of the additional args, that's different.

I'm not too concerned with what the original intent in Maclisp was.
Defmacro has evolved quite a bit since the first muddled attempts to do
something reasonable with macros.  About the time I left MIT, there were
three or four defmacro-like packages in use by various people, all
different.

-- Scott