(define test
(lambda()
(let* ((x 1)
(y 3)
(z 5)
(foo (lambda (n)
(let* ((x 3)
(y (+ x n))
(g (lambda(w) (+ (* x w) y))))
g))))
((foo 10) x))))
これは何に評価されますか?
試み:
呼び出し(foo 10)
-> (lambda(w) (+ x w) y)
、ここで x = 3、y = 13
呼び出し((lambda(w) (+ (* x w) y) x)
-> (ローカル x は 1) ->