如何在 DrScheme 中重新定义常量标识符?

发布于 2024-07-14 12:52:32 字数 289 浏览 6 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

新雨望断虹 2024-07-21 12:52:32

事实证明,每种语言都有一些选项,其中一个是“不允许重新定义初始绑定”,可以取消选中该选项。

It turns out there are options per each language and one of them is "Disallow redefinition of initial bindings" which can be unchecked.

只是在用心讲痛 2024-07-21 12:52:32

您可能正在使用“Pretty Big”语言。 切换到“Module”,就可以了。

You're probably using the "Pretty Big" language. Switch to "Module", and you can do it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文