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

SYMBOL-MACROLET-SEMANTICS (Version 2)



I support SYMBOL-MACROLET-SEMANTICS:SPECIAL-FORM, with a couple
of important reservations, which are basically the same as Eric
Benson's comments:

SETQ of a symbol macro must be allowed.  The reason given for removing
it is wrong -- SETQ of symbol macros was allowed in order to avoid
making any distinction between symbol macros and variables, which is
the only reason symbol macros are used by CLOS at all.

The comment about "recursive symbol macros" doesn't make any sense to
me.  I don't think it would hurt the proposal to take it out.  Saying
that expansions of symbol macros are subject to further expansion in
the same lexical environment as the symbol macro invocation, exactly
analogous to normal macros, is sufficient.  If and when Common Lisp
is changed to provide more careful control over the lexical environment
of macro expansions, the same mechanism should work for both normal
macros and symbol macros.