Lisp Scheme Part31
■ このスレッドは過去ログ倉庫に格納されています
0339デフォルトの名無しさん
2010/10/26(火) 16:36:16プログラムの動作としては symbol-name の利用でいけました。ありがとうございます。
が、>>337 のような書き方をした場合に、
(1) case sensitive なパッケージで defmacro した場合:
(1-a) case sensitive 環境でマクロ展開
symname := "self", self-symbol := self
(1-b) case insensitive 環境でマクロ展開
symname := "SELF", self-symbol := |self| (i.e. (intern "self"))
(2) case insensitive なパッケージで defmacro した場合:
(2-a) case sensitive 環境でマクロ展開
symname := "self", self-symbol := SELF (i.e. (intern "SELF"))
(2-b) case insensitive 環境でマクロ展開
symname := "SELF", self-symbol := SELF
となってしまうロジックがわかりません。
また、>>338 のように if でなく symbol-name で "self" と "SELF" を使い分けるのは
アリな理由もわかりません。
clisp の実装上の都合なのか、CLの規格によるものなのか, etc.
何か追加情報ありましたらよろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています