1.5|

$ cd ~

SICP Exercise 1.5

Using applicative order, the code for (test 0 (p)) never terminates because it infinitely expands into itself.

 (test 0 (p)) 
  
 (test 0 (p)) 
  
 (test 0 (p)) 

However, for normal eval it evaluates step-by-step to 0.

 (test 0 (p)) 
  
 (if (= 0 0) 0 (p)) 
  
 (if #t 0 (p)) 
  
 0