Iteration and loops are fundamental programming tasks in any language. However,
in Scheme iteration over lists is somewhat special, as discussed on list
iteration, and the general looping constructs do
and
while
are considered somewhat unidiomatic.
As list iteration and particularly recursion are very much limited without making use of custom procedures their discussion has been deferred to this chapter, after writing procedures had been introduced.