Scieneer Common Lisp 1.3.9 online documentation ext:iterate name binds &body body [Macro] iterate name ({(var initial-value)}*) declaration* form*
This is syntactic sugar for labels. It creates a local function name with the specified vars as its arguments and the declarations and forms as its body. This function is then called with the initial-values, and the result of the call is return from the macro.