Beispiel: Iterative Fakultätsberechnung (in Lisp)

(define (fakultät n)
    (fakultät-interativ 1 1 n))
(define (fakultät-interativ produkt zähler max-zähler)
    (if (> zähler max-zähler)
        produkt
        (fakultät-interativ (* zähler produkt) (+ zähler 1) max-zähler)))

Funktionsaufruf des linear iterativen Prozeß zur Berechnung von 6!

(fakultät 6)
(fakultät-interativ   1 1 6)
(fakultät-interativ   1 2 6)
(fakultät-interativ   2 3 6)
(fakultät-interativ   6 4 6)
(fakultät-interativ  24 5 6)
(fakultät-interativ 120 6 6)
(fakultät-interativ 720 7 6)
720

Wie aus diesem Beispiel ersichtlich ist wächst die Information über den Prozeßfortschritt in der rekursiven Variante. Bei der iterativen Variante bleibt sie konstant. Bei vielen Programmiersprachen wäre die zweite, iterative Variante aber auch nicht sparsamer mit dem Speicherverbrauch, da die ständigen Funktionsaufrufe im Keller gespeichert würden. Hier hätte man nur einen Vorteil mittels REPEAT, UNITIL, WHILE und FOR. Doch es gibt Interpretierer, die diesen Mangel nicht aufweisen. Deshalb kann die Rekursionsvariante genauso sparsam wie die iterative Methode mit dem Speicher umgehen.