Lisp Scheme Part31
■ このスレッドは過去ログ倉庫に格納されています
0338デフォルトの名無しさん
2010/10/25(月) 23:28:25CLISPのコード(src/package.d)を見たところ、cl:internとcs-cl:internの違いは、
引数のシンボル名をinvertするかどうかだけの違いのようです。
なので、case-insensitiveなパッケージではそういう動作になります。
readerとかprinterとか色々いじって、擬似的にcase-sensitiveに見せてるわけです。
ぶっちゃけ、cs-cl:symbol-nameを使えばいいのではないでしょうか。
こちらはinvertされたシンボル名を返します。
(defmacro alambda (params &body body)
(let ((self-symbol (intern (symbol-name 'self))))
`(labels ((,self-symbol ,params ,@body)) #',self-symbol)))
みたいにして。
なお、case-sensitive packageの存在意義が理解出来ないので、意欲に欠けます。
CLISPも常用してませんし、割と適当なこと言ってるかもしれませんが許してください。
■ このスレッドは過去ログ倉庫に格納されています