I agree that macros are great, but also agree with the
original poster (Scott Schwartz) that it would be nice
to distinguish some macros.
Specifically, macros that expand into things that evaluate
all their arguments normally are fine; macros in which some arguments
are not evaluated are potentially confusing.
It would be ugly to distinguish these cases with e.g. a trailing
colon, but I actually prefer this to the alternative of
having to memorize these cases.
This would be similar to the use of ! in scheme. Also scsh (0.2)
uses * to denote something (forget what, and I don't have
the software right here); I would vote that the special form vs. no special
form distinction is a better use of a syntax character than
whatever the * was used for (it also bothered me slightly
that the * was already overloaded from its use in let/let*)
my opinion.
|