Verwenden Sie das Substitutionsprinzip, um den Code auszuwerten. Ihr Code schön, wie Sie hilfreich getan haben eingekerbt zu haben ist, weil man leicht in (lambda (x) (* x 3))
in die lambdas
(((lambda (fn) (lambda(x) (fn (fn x)))) (lambda (x) (* x 3))) 4)
Zuerst gesteckt werden ersetzen nun die Ausdrücke sehen können wir für fn
((lambda(x) ((lambda (x) (* x 3)) ((lambda (x) (* x 3)) x))) 4)
werden wir Ersatz in 4
für die äußerste x
((lambda (x) (* x 3)) ((lambda (x) (* x 3)) 4))
Jetzt ersetzen wir in 4
in für x
auf der rechten Seite Lambda
((lambda (x) (* x 3)) (* 4 3))
(* 4 3)
((lambda (x) (* x 3)) 12)
Ersatz 12
auswerten für x
(* 12 3)
Bewerten
36