0
(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))))
Что это значит?Scheme: Что оценивает эта функция?
Попытка:
Вызов (foo 10)
->(lambda(w) (+ x w) y)
, где х = 3, у = 13
вызова ((lambda(w) (+ (* x w) y) x)
-> (где местный х 1) ->
Скобки в первом 'let *' неверны, поэтому невозможно сказать, что он должен делать. Пожалуйста, исправьте это. – Barmar
Надеюсь, новое редактирование помогло. Извини за это. –