2

REPLプロンプトでこれを入力すると:

(setf (readtable-case *readtable*) :invert)

次のエラー メッセージが表示されます。

Error in SETF [or a callee]: Cannot expand the SETF form (READTABLE-CASE
                                                          *READTABLE*).

なぜこのエラーが発生するのですか?

4

1 に答える 1

3

(format nil "~A ~A" (lisp-implementation-type) (lisp-implementation-version))「Kyoto Common Lisp GCL 2.6.2」と言います。の結果(eq 'readtable-case 'cl:readtable-case)は T です。これはどういう意味ですか?

2 番目の式は、正しい記号を使用していることを意味します。1 つ目は、使用している Lisp 実装を示します: GNU Common Lisp 2.6.2である必要があります。

いくつかの検索の後、gcl-develリストでこのメッセージを見つけました...

問題は次の行にあるようです。

(setf (readtable-case *readtable*) readcase)

ランダムチェック可読性で。テストをブロックしているため、これを解決する次の ansi の問題としてお勧めします。

... 件名は「2.7.0 の ansi-tests」です。メッセージは2004年のものです。

結論:もっと最近の、あるいは* 別の Lisp 実装が必要だと思います。

(* Rainer Joswig が言及したように、この問題は現在の 2.6.12 リリースにも影響します)


主要な Lisp 実装はすべてこれをサポートしていると思います。私が知る限り、CLISP 2.49はそうです。SBCL と CCL もおそらくそうです。ECL もそうです。

于 2015-11-21T23:15:04.823 に答える