Note: This is taken from the Chicken Wiki, where a more recent version could be available.
The Common Lisp loop macro.
None
<macro>(loop CLAUSE ...)</macro>
Executes the forms in CLAUSE ... repeatedly. Most loop features of CLtL2 (Common Lisp the Language, 2nd Edition) are provided. For more information see the Common Lisp Hyperspec.
(loop with a = 0 and b = -1
while (< a 10)
sum a into foo
do (set! a (+ a 1))
finally (return (list foo b)))
;=> (45 -1)
Copyright (C) 2002 Heinrich Taube (taube@uiuc.edu) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.