首先创建新的 Frame,由于 inc-square 的外环境指针指向 GE,因此新 Frame 的外环境指针也指向 GE,新 Frame 与 GE 构成新环境 E1;接着在新 Frame 中添加 y 与 4 的 binding;最后在 E1 中执行程序体 (+ 1 (square y)),程序体中的 + 和 square 在 GE 中有 binding 值,而 y 在新 Frame 中有绑定值。但 square 对应的是一个复合程序,因此将重复例1中的过程,直到返回 16 位置,然后在 E1 中执行 (+ 1 16) 得到最终值 17。值得注意的是,E2 的外环境指针指向的是 GE 而非 E1,原因在于定义 square 的时候,square 复合程序的外环境指针指向的是 GE。