在SICP 3.2中,环境评估模型是一个最初与第一帧相同的环境?

时间:2010-09-21 15:43:09

标签: lisp scheme sicp

Structure and Interpretation of Computer Programs part 3.2中,“环境”被定义为“一系列帧”。但据我所知,本书没有进一步讨论环境与框架之间的区别。此外,我怀疑环境图纸将它们与框架混为一谈,因为书籍图纸很小而且是2-D,并且不容易显示时间演变而不是另一幅完整图纸。

因此,将创建时的环境视为与第一帧相同是否正确?然后,当环境中发生任何更改(现有绑定发生更改,创建了新绑定)时,环境会在其帧序列中添加新帧?如果这种理解不正确,那么环境和框架之间究竟有什么区别

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

帧序列是指向“向上”指向全局环境的链接列表(帧)。因此,当创建环境时(例如,在过程绑定的上下文中),“环境”是指向框架的指针...在术语中指向封闭环境(如果是全局环境,则为null)。

所以...一个合格的'是'......这是第一帧,从第一帧开始可以访问其余的环境。

这有帮助吗?

亲切, DAK

答案 1 :(得分:2)

很多时候,人们互换地使用“环境”和“框架”。就个人而言,我总是试图让它们与众不同。我使用框架来表示特定的堆栈和环境是所有框架。

答案 2 :(得分:0)

我认为初始环境是一个长度为1的序列,只有第一帧。