This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: CL implementation questions


* Per Bothner [2012-04-01 17:29] writes:

> 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.)

Some experiences were written up for future generations:
http://www.lispworks.com/documentation/HyperSpec/Issues/iss095_w.htm

It seems to me that this is something that Symbolics wanted to make it
easy for naive tools/programmers.

Helmut


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]