【发布时间】:2014-02-04 18:19:26
【问题描述】:
我正在尝试学习如何使用 DrRacket 调试器的 annotate 函数。我的最终目标是构建一个 REPL,您可以在闭包中执行它并可以访问范围内的所有内容。 (请参阅我关于该主题的previous question 和Greg Hendershott 的深入研究的answer)目前,我只是在尝试探索annotate 函数的工作原理。你可以看到我第一次使用它的探索性尝试,以及结果,here。
注释器内部发生的错误似乎是在它尝试匹配字符串附加的应用程序时出现的。匹配器正在寻找#%plain-app,而我呈现给它的扩展语法包含#%app。我不确定我是否应该以不同的方式扩展语法,以便它以#%plain-app 的形式出现,或者如果我在生成要输入注释器的语法时做错了其他事情。有人看到我的错误在哪里吗?
【问题讨论】:
-
也许像
local-expand而不是expand是答案的一部分?但在这个阶段,您可能应该在 Racket 邮件列表中询问。这样一来,像 Robby Findler(我认为他写了annotate以及 DrRacket 的大部分人)这样的人就可以做出回应。