Long used in its simplest form in mathematics, functional iteration is an elegant way to represent repeated operations. Mathematica's symbolic architecture makes powerful general forms of functional iteration immediately accessible.
NestList — successively nest a function:
Nest — give the result of nesting a function: etc.
FoldList — successively fold in a list of values:
Fold — give the result of folding in a list of values: etc.
TakeWhile — take from a list while a condition is satisfied
LengthWhile — the length while a condition is satisfied