seek for some explanation on SICP exercise 1.5
The question can be found here . In the book, I found one description of normal order evaluation was: "An alternative evaluation model would not evaluate the operands until their values were needed. Instead it would first substitute operand expressions for parameters until it obtained an expression involving only primitive operators, and would then perform the evaluation." I also found another description in short: "fully expand and then reduce". In the exercise, I thought the definition of p was something like (lambda () (p)) , which would never expand to a primitive operator, thus never