GP lisper <[EMAIL PROTECTED]> writes:

> On Sat, 11 Jun 2005 21:52:49 +0200, <[EMAIL PROTECTED]> wrote:
>> Nicolas Neuss <[EMAIL PROTECTED]> writes:
>>
>>> P.S.: Maybe this is also the right time for this bug report:
>>>
>>> (loop with m = 5
>>>       initially (setq m 3)
>>>       for i below m do (princ i))
>>>
>>> should print only "012", no?
>>
>> Hmm, SBCL/CLISP/Allegro behave the same.  I guess this would be
                           ^^^^^^^^^^^^^^^     
                     (i.e. they print "01234")

>> something for the loop haters.  Good that I didn't post it in cll:-)
>
> Ah, initially m is 3 in the prologue to loop, and on each body pass
> thru the loop, m is 5.  At least that is my understanding (and you
> notice I'm hiding from cll too).  I like the Graham comments "No one
> understands loop" and the "ANSI spec just consists of examples".

I don't like them, because the first one is true in a strict sense for
every complex program (do you know every quirk of C, for example?), the
second one is simply false.  Look at 6.1.1.6 (LOOP: Order of Execution).
This is clearly not an example.  The problem is that it is somewhat vague.
If I parse it correctly, my form above should print "012".

Nicolas.


Reply via email to