From: Barry Margolin
Subject: Re: LOOP wish list again
Date: 
Message-ID: <9306181615.AA11373@telecaster.think.com>
In article <··········@morue.usc.edu> ········@morue.usc.edu (Ingemar Hulthage) writes:
>I have another thing on my wish list for the X3J13 loop macro.  

Doesn't this discussion belong in comp.lang.lisp rather than
comp.lang.clos?  I've added the Lisp group.

>It would be convenient if there were a NEXT function and clause, which
>would jump to the next iteration.  I realize that there are some
>issues of how to handle end-test controls (while, until etc.)  that
>may follow such a NEXT statement.  Have anything like this been
>proposed ?

No such proposal was made to the X3J13 plenary committee.  I don't know
whether it was discussed within the Iteration subcommittee.  But the main
goal of LOOP standardization was to take the LOOP macro that has been in
use for years, and tweak it enough so that it would fit well into Common
Lisp (using CL type declarations, iterating over packages and hash tables).
No significant enhancements were made to the general iteration strategy,
though.

It was extremely controversial whether we wanted to add LOOP to the
standard at all; in the end we decided to do so since lots of people were
already using it and it would be better if such code could be portable.
But there was little incentive to enhance it.
From: Josh Fisher
Subject: Re: LOOP wish list again
Date: 
Message-ID: <1993Jun18.182849.10328@hplabsz.hpl.hp.com>
>In article <··········@morue.usc.edu> ········@morue.usc.edu (Ingemar Hulthage) writes:
>
>>It would be convenient if there were a NEXT function and clause, which
>>would jump to the next iteration.  I realize that there are some
>>issues of how to handle end-test controls (while, until etc.)  that
>>may follow such a NEXT statement.  Have anything like this been
>>proposed ?

This feature, and all the other things you wish loop did, along with
syntax that actually looks like Lisp, is available using Jonathan
Amsterdam's "iterate" macro.  (The clause is called "next-iteration".)

Iterate is very portable, well thought out, solidly implemented and
well documented.  It's found in all the Lisp archives I've looked at,
or by writing to ···@ai.mit.edu.  I have no idea of whether Jonathan
is still working on iterate, or even whether he wants wider use.  But
it's a pleasure to use.

-- Josh Fisher