# SICP - Solution: Exercise 1.34

##### October 27, 2018

**Exercise 1.34:** Suppose we define the procedure

```
(define (f g) (g 2))
```

Then we have

```
(f square)
4
(f (lambda (z) (* z (+ z 1))))
6
```

What happens if we (perversely) ask the interpreter to evaluate the combination `(f f)`

? Explain.

**Solution**

The trace for the evaluation of `(f f)`

will be:

```
(f f)
(f 2)
(2 2)
```

And will fail, since `2`

is not an function that can be applied.