Brian Downing <see-signature@lavos.net> wrote:
+---------------
| Rob Warnock <rpw3@rpw3.org> wrote:
| > Ooooh! Look at that loverly idiosyncratic environment! How is my
| > QUASIQUOTE macro expander going to extract the values of FILE & FLAGS
| > from *that* in a portable way??!?!?
| >
| > [Cue Duane Rettig, waiting in the wings for an encore presentation
| > of his Environments Access module... ;-} ;-} ]
|
| I don't think you need to. You're outputting a macroexpander. It will
| get evaluated in the lexical context of the let, so you just need to
| reference the variables....
...
| If you had a QUASIQUOTE expander that'd just be putting a QUASIQUOTE
| around the command form.
...
| (defmacro quasiquote (args)
| (process-qq args))
+---------------
Good point. You do need to completely macroexpand the effective
or implicit (RUN macro generated) QUASIQUOTE form & subforms before
emitting any function calls, but that said, it *is* possible.[1]
Good to know, thanks!
"CLsh", anyone...? ;-}
-Rob
[1] Well, one still has to usurp the built-in readmacros for `/,/,@
with something like Alexander Schmolck's code [and make sure
that doesn't break something else!], but at least the simple
cases can be made to work.
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607