我正在尝试为PLT Scheme(Racket)中的家庭作业创建一个简单的语言解释器。为了跟踪变量绑定,我似乎无法创建和更新跟踪指定变量及其值的环境。在MIT Scheme Reference中,我发现有关环境是第一类对象的信息,但是使用其中列出的命令(例如环境约束?)在PLT Scheme中不起作用。
实现此目标的最佳方法是使用 let 或任何类似命令式(!)功能的方案?
答案 0 :(得分:2)
如果您只是在Scheme中创建解释器,您可能只想创建自己的环境数据结构,可能作为关联列表:((var1 val1) (var2 val2) (var3 val3))
等等。传递并将环境更新为列表更简单,而不是处理任何特定Scheme的环境实现。
答案 1 :(得分:0)
在文档中查找namespace functionality周围的任何内容。