Roughly speaking, the number of steps they take can't be larger than the size of the program. To obtain the computing power of ordinary languages, or Turing machines, etc.
Most languages support loops .
Pure functional programs use recursive functions instead of iteration to achieve repetition. Crucial difference is that each recursive activation of a function provides new actual parameters to be bound to the function's formal parameters. Recursion is not hard Recursive definition is one that mentions the thing being defined in the body of the definition. Towers of Hanoi. Note direct correspondence to induction .