This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: CL implementation questions
- From: Per Bothner <per at bothner dot com>
- To: Charles Turner <chturne at gmail dot com>
- Cc: Kawa mailing list <kawa at sourceware dot org>
- Date: Sun, 01 Apr 2012 10:29:54 -0700
- Subject: Re: CL implementation questions
- References: <CAPMhJv3gH18NH61qUvMZcZUbUJjB_08x7WC-to4DuDcqZmjkhg@mail.gmail.com> <4F72B408.5020700@bothner.com> <CAPMhJv0FmBAdPQ_o2rM_koU2391CAmD_0BC22A4dZ=u_aWxoew@mail.gmail.com> <4F77D526.9000109@bothner.com> <CAPMhJv3jjK+qFdDkUS9POtoYc1KMmKwOkfKWvEOKcv8ZbWDnWw@mail.gmail.com>
On 04/01/2012 04:05 AM, Charles Turner wrote:
Thanks, it's much more clear how to start now. :-)
On 1 April 2012 05:10, Per Bothner<per@bothner.com> wrote:
On 03/31/2012 01:25 PM, Charles Turner wrote:
- Macro forms cannot expand into DECLARE exprs.
Why not?
From the CLHS:
"Macro forms cannot expand into declarations; declare expressions must
appear as actual subexpressions of the form to which they refer."
http://www.lispworks.com/documentation/HyperSpec/Body/s_declar.htm
There's also some discussion about it in CLTL (I'm aware it's out-of-date)
http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node104.html
about two pages down.
I guess that does make it easier to check for a declare form in
rewrite_body - just check if the first form is a list whose car
is the symbol declare. (Still, since you have to macro-expand
anyway, I don't see how it would be that difficult. But I
don't have the experience of the collective group of CL implementors
at that time.)
--
--Per Bothner
per@bothner.com http://per.bothner.com/