В SICP 3.2, Экологическая модель оценки, является ли среда изначально такой же, как ее первый кадр? - PullRequest
5 голосов
/ 21 сентября 2010

В разделе Структура и интерпретация компьютерных программ, часть 3.2 , «среда» определяется как «последовательность кадров».Но, насколько я понимаю, в книге больше не обсуждается разница между средой и рамкой.Кроме того, я подозреваю, что рисунки окружения объединяют их с рамками, потому что книжные рисунки маленькие и двумерные, и не показывают эволюцию во времени, если не считать другого полного рисунка.

Так было бы правильно думать, что окружающая среда при создании совпадает с ее первым кадром?И затем, когда в среде происходит какое-либо изменение (изменение существующей привязки, создание новой привязки), среда добавляет новый кадр в свою последовательность кадров?Если это понимание НЕ верно, то в чем именно разница между средой и рамкой ?

Заранее спасибо за любую помощь!

Ответы [ 3 ]

2 голосов
/ 21 сентября 2010

Последовательность фреймов - это связанный список (фреймов), направленный «вверх» к глобальной среде. Поэтому, когда создается среда (например, в контексте привязки процедуры), «среда» - это указатель на фрейм, который в терминах указывает на окружающую среду (или ноль, если глобальная среда)

Итак ... квалифицированное «да» ... это первый кадр в том смысле, что остальная часть среды доступна из этого первого кадра.

Это помогает?

Сердечно, Дак

2 голосов
/ 15 октября 2010

Часто люди используют «среду» и «рамку» взаимозаменяемо. Лично я всегда старался отличать их. Я использую фрейм, чтобы обозначить определенный стек, а среду - все фреймы.

0 голосов
/ 21 сентября 2010

Я думаю, что начальная среда - это последовательность длиной 1 с первым кадром.

...