Comparing the Recursive and Iterative Processes

Although the factorial-product procedure is recursive, the process it generates is iterative.

To see this, consider a trace of (factorial-product 1 5):

  > (factorial-product 1 5)
  |(factorial-product 1 5)
  |(factorial-product 5 4)
  |(factorial-product 20 3)
  |(factorial-product 60 2)
  |(factorial-product 120 1)
  |(factorial-product 120 0)
  |120
  120
Partial products are progressively computed without waiting for subproblems to be solved.