Оценивать:
((((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3) 4) 5)
Вот что я сделал:
оценить
((((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3) 4) 5)
- evaluate
5 -> 5
- evaluate
оценить
(((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3) 4)
- evaluate
4 -> 4
- evaluate
оценить
((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3)
- evaluate
3 -> 3
- evaluate
(lambda (x) (lambda (y) (lambda (x) (+ x y))))
->(lambda (x) (lambda (y) (lambda (x) (+ x y))))
применить
(lambda (x) (lambda (y) (lambda (x) (+ x y))))
к3
замените
3
->x
в(lambda (y) (lambda (x) (+ x y))
(lambda (y) (lambda (x) (+ 3 y))
оценить
(lambda (y) (lambda (x) (+ 3 y)) -> (lambda (y) (lambda (x) (+ 3 y))
apply (lambda (y) (lambda (x) (+ 3 y))
to4
заменить
4 -> y
в(lambda (y) (lambda (x) (+ 3 y))
(lambda (y) (+ 3 4))
оценить
(lambda (y) (+ 3 4)) -> (lambda (y) (7))
- subsitute
5
-> ?
- subsitute
И тогда я застрял.