# SICP Solutions

### Chapter 4, Metalinguistic Abstraction

#### Exercise 4.18

We have procedure:

As shown in this exercise, this will get converted to:

Assuming that delay is implemented as special form in our evaluator such that it behaves as described in chapter-3, i.e. arguments to delay are not evaluated until it is accessed.

For b we require dy to be correctly defined because there is no (delay y) in b expression. Thus it won’t work.

However, it will work with the way we implemented transformation described in the text because now before evaluating dy, y will be already defined.