如何在 DrScheme 中重新定义常量标识符?
我正在使用 DrScheme 编写一个 Scheme 解释器。 我定义了一个 Read Eval Print Loop 并重新定义了 eval 过程。 这在其他方案实现中工作得很好,比如ChezScheme,但我不喜欢ChezScheme中的代码编辑,所以我想使用DrScheme来实现这一点。
当我做出如下定义时: (定义(eval exp env)(条件...)) 它说: 定义值:无法更改常量标识符:eval
有没有办法覆盖它并让我更改常量标识符? 我不希望必须重命名所有变量来解决这个问题。
I am using DrScheme to write a Scheme interpreter. I define a Read Eval Print Loop and I am re-defining the eval procedure. This works fine in other scheme implementations like Chez Scheme, but I don't like the code editing in Chez Scheme, so I would like to use DrScheme for this.
When I make a definition such as:
(define (eval exp env) (cond ...))
It says:
define-values: cannot change constant identifier: eval
Is there a way to override that and let me change constant identifiers? I'd prefer not to have to rename all my variables to get around this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
事实证明,每种语言都有一些选项,其中一个是“不允许重新定义初始绑定”,可以取消选中该选项。
It turns out there are options per each language and one of them is "Disallow redefinition of initial bindings" which can be unchecked.
您可能正在使用“Pretty Big”语言。 切换到“Module”,就可以了。
You're probably using the "Pretty Big" language. Switch to "Module", and you can do it.