В SICP 3.2, модель окружающей среды оценки, является средой изначально такая же, как и его первый кадр?
Вопрос
В Структура и интерпретация компьютерных программ Часть 3.2, «окружающая среда» определяется как «последовательность кадров». Но, насколько я вижу, книга не обсуждает разницу между окружающей средой и кадром. Кроме того, я подозреваю, что рисунки окружающей среды сводят их кадрами, потому что рисунки книг невелики и 2-D, и не готовятся к топливо, что не хватает времени.
Так было бы правильно подумать об окружающей среде при создании как одинаковую, что и его первый кадр? И тогда, когда происходит какие-либо изменения в окружающей среде (установленная связка изменена, новая связка, созданная), среда добавляет новый кадр к его последовательности кадров? Если это понимание не правильно, то Что именно разница между окружающей средой и рамкой?
Заранее благодарю за любую помощь!
Решение
Последовательность кадров - это связанный список (кадров), указывающих «вверх» к глобальной среде. Таким образом, когда среда создана (например, в контексте привязки процедуры), «Окружающая среда» - это указатель на кадр ... что в то время указывает на окружающую среду (или NULL, если глобальная среда).
Итак ... квалифицированный «да» ... Это первый кадр в том смысле, что остальная среда доступна из этого первого кадра.
Это помогает?
Сердечно, Дак
Другие советы
Много раз люди используют «окружающую среду» и «рамку» взаимозаменяемо. Лично я всегда пытался держать их отчетливо. Я использую рамку, чтобы означать определенный стек и среду, чтобы быть всеми рамами.
Я думаю, что первоначальная среда является последовательностью длины 1, с просто первым кадром.