[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: symbol-macrolet
- To: "David A. Moon" <Moon@STONY-BROOK.SCRC.Symbolics.COM>
- Subject: Re: symbol-macrolet
- From: kempf%hplabsz@hplabs.HP.COM
- Date: Mon, 30 Nov 87 17:03:48 MST
- Cc: Gregor.pa@Xerox.COM, common-lisp-object-system@SAIL.STANFORD.EDU
- In-reply-to: Your message of Mon, 23 Nov 87 15:19:00 -0500. <19871123201936.6.MOON@EUPHRATES.SCRC.Symbolics.COM>
> Date: Thu, 19 Nov 87 17:13 PST
> From: Gregor.pa@Xerox.COM
> I suppose we should say explicitly that the symbol macros are recorded
> in the macroexpansion environment so that macroexpand-1 of a symbol
> which is a symbol-macro will expand it.
> I thought we were going to allow SYMBOL-MACROLET to be implemented in a
> portable way, as something that fully macroexpands the form given and
> then makes substitutions for symbols in it. During macroexpansion the
> symbol-macrolet'ed symbols would be just like other symbols, which seems
> okay since they are (I think) supposed to be used in ways that are
> semantically like variables; certainly that's true in the case of
> WITH-SLOTS.
This is, in fact, how LET-PSEUDO (our version of SYMBOL-MACROLET) works.
First, all macros are expanded, and then the symbols are macroleted. User
defined macros thus treat the symbols like regular symbols, which is what,
I think, you want when considering them as variables, as you mentioned.
The macroexpansion environment is left untouched.
jak