repeatedly-square Again

   (define repeatedly-square	
     (lambda (b n)		
       (if (= n 0)
           b			
           (square (repeatedly-square b (- n 1))))))
Q: What kind of process does this procedure generate, and why?

A: A recursive one, since it repeatedly squares a smaller value first, putting the final squaring on hold.

   > (repeatedly-square 2 5)
   |(repeatedly-square 2 5)
   | (repeatedly-square 2 4)
   | |(repeatedly-square 2 3)
   | | (repeatedly-square 2 2)
   | | |(repeatedly-square 2 1)
   | | | (repeatedly-square 2 0)
   | | | 2
   | | |4
   | | 16
   | |256
   | 65536
   |4294967296
   4294967296