Use hand-evaluation (ala Intermediate Scheme with lambda) to find the value of the following expression:

((lambda (f) (f (f 2)))
 (lambda (x) (* x 2)))

Do not skip any steps.

Solution

((lambda (f) (f (f 2)))
 (lambda (x) (* x 2)))
=
((lambda (x) (* x 2)) ((lambda (x) (* x 2)) 2))
=
((lambda (x) (* x 2)) (* 2 2))
=
((lambda (x) (* x 2)) 4)
=
(* 4 2)
=
8