Definition

There are no deferred operations during an iterative process (need to elaborate)

Example

function factorial(n) {
 return iter(1, 1, n);
}
 
function iter(product, counter, n) {
 if (counter > n) return product;
 return iter(counter * product, counter + 1, n);
}
/*
factorial(3)
-> iter(1, 1, 3)
-> iter(1, 2, 3)
-> iter(2, 3, 3)
-> iter(6, 4, 3)
-> 6
*/

Note

  • The number of deferred operations HAS grow as n increases for the process to be called recursive