Subject: Re: delaying macroexpansion
From: rpw3@rpw3.org (Rob Warnock)
Date: Tue, 31 Aug 2004 21:22:09 -0500
Newsgroups: comp.lang.lisp
Message-ID: <v8-dnYNcNcDMr6jcRVn-gg@speakeasy.net>
Peter Seibel  <peter@javamonkey.com> wrote:
+---------------
| Andras Simon <asimon@math.bme.hu> writes:
| > Yes, but does the HS say anywhere that in a progn expansion happens
| > in order? Wouldn't a compiler-only implementation be expected to
| > expand macros in a progn as part of the compilation process, before
| > executing anything?
| 
| I think his is the relevant bit of the spec, from 3.2.3.1:
| 
|   However, the order of processing (including macro expansion) of
|   subforms that are not top level forms and the order of further
|   compilation is unspecified as long as Common Lisp semantics are
|   preserved.
+---------------

Uh... If you're talking about top-level PROGNs, note that the part
you quote is part #6, which starts with the word "Otherwise..."
But earlier in 3.2.3.1 is this part, which overrides the "otherwise":

    3. If the form is a PROGN form, each of its body forms is
       sequentially processed as a top level form in the same
       processing mode.


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607