Common Lisp the Language, 2nd Edition
Next: Order of Execution
Up: Loop
Previous: How the Loop
The syntactic parts of a loop construct are called clauses; the
scope of each clause is determined by the top-level parsing of that
clause’s keyword. The following example shows a loop construct with six
clauses:
(loop for i from 1 to (compute-top-value) ;First clause
while (not (unacceptable i)) ;Second clause
collect (square i) ;Third clause
do (format t "Working on ~D now" i) ;Fourth clause
when (evenp i) ;Fifth clause
do (format t "~D is a non-odd number" i)
finally (format t "About to exit!")) ;Sixth clause
Each loop keyword introduces either a compound loop clause or a
simple loop clause that can consist of a loop keyword followed by a
single Lisp form. The number of forms in a clause is determined by the
loop keyword that begins the clause and by the auxiliary keywords in the
clause. The keywords do
, initially
, and
finally
are the only loop keywords that can take any number
of Lisp forms and group them as if in a single progn
form.
Loop clauses can contain auxiliary keywords, which are sometimes
called prepositions. For example, the first clause in the
preceding code includes the prepositions from
and
to
, which mark the value from which stepping begins and the
value at which stepping ends.
Next: Order of Execution
Up: Loop
Previous: How the Loop
AI.Repository@cs.cmu.edu