Note: This is taken from the Chicken Wiki, where a more recent version could be available.
The Common Lisp loop macro.
<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 (email@example.com) 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.