Лексическая и динамическая область видимости с точки зрения экологической модели оценки SICP

ВРаздел 3.2.2 SICP выполнение следующего куска кода

(define (square x)
  (* x x))
(define (sum-of-squares x y)
  (+ (square x) (square y)))
(define (f a)
  (sum-of-squares (+ a 1) (* a 2)))

(f 5)

объясняется с точки зренияэта диаграмма.

Каждый раз, когда применяется функция, создается новый кадр (помеченныйE1 черезE4) который представляет собой набор связей между символами и значениями. Когда символ не связан в кадре, этот кадр 'Окружающая среда запрашивается для привязки этого конкретного символа.

Интересной особенностью этой диаграммы является то, что все кадры, помеченныеE содержится в глобальной среде. В тексте объясняется, что это потому, что функции были определены в глобальной среде, но не уточняется вопрос:

Обратите внимание, что каждый кадр, созданныйsquare указывает на глобальную среду, так как это среда, обозначеннаяsquare объект процедуры.

Если вместо этого кадры содержатся в той среде, в которой была вызвана функция, скажем,E3 содержался вE2 который в свою очередь содержался вE1это будет правильной моделью того, как работает язык с динамической областью действия? Кроме того, способ, которым кадры на диаграмме имеют одинаковыеродителя среда, потому что схема имеет лексическую область?

Ответы на вопрос(1)

Ваш ответ на вопрос