Defines a function that can be used to iterate over a body. It is similar to for, but allows you to control when iteration will occur.
It creates a function called name which will perform a single step of the iteration at a time; body can call name whenever it wants to iterate another step. The form evaluates by calling the new function with the initial values specified.
iterate (name) ( (argument) = (init-value), ... )
(body)
end iterate
| name | Name of a function to be defined. |
| argument | An argument for name. Optional. |
| init-value | Optional initial value for argument. |
| body | Iteration body. May call the name function with arguments to repeat. |