5

DrScheme を使用して、Scheme インタープリターを作成しています。Read Eval Print Loop を定義し、eval プロシージャを再定義しています。これは Chez Scheme のような他のスキームの実装では問題なく動作しますが、私は Chez Scheme でのコード編集が好きではないので、これには DrScheme を使用したいと考えています。

次のような定義を行うと: (define (eval exp env) (cond ...)) それは言う: define-values: cannot change constant identifier: eval

それをオーバーライドして、定数識別子を変更できるようにする方法はありますか? これを回避するために、すべての変数の名前を変更する必要はありません。

4

2 に答える 2

12

各言語ごとにオプションがあり、そのうちの 1 つは「初期バインディングの再定義を許可しない」で、チェックを外すことができます。

于 2009-03-09T03:00:44.223 に答える
0

あなたはおそらく「Pretty Big」言語を使用しています。「モジュール」に切り替えると、それができます。

于 2009-03-09T02:44:54.450 に答える