在 Chez Scheme 中,在某个环境中调用 eval 的正确方式不是 (eval expr env) ,而是 (parameterize ([interaction-environment env]) (eval expr))
(eval expr env)
(parameterize ([interaction-environment env]) (eval expr))
例如当前的环境是 env0,子环境是 env1,那么在子环境中调用 (eval something) 的时候,显然希望 something 也是在子环境中执行,而不是逃到了 env0 中。
(eval something)
something