Bruce.です。
機械伯爵 さんは書きました (2009/03/21 0:37):
> 評価される前は全てシンボルで、クォートされると評価されないからシンボル
> そのまま、という認識だったんですけど。
いやまあそうだとしても、クォートついたのがシンボルというのは拡大解釈の
しすぎじゃないかと。
> 『必要に応じ,Common Lispではシンボルをその表現する値に対応させたり,
> その表現する関数に対応させる関数が使える.関数symbol-valueはシンボル
> を引数に取り,対応するスペシャル変数の値を返す:
>
>> (symbol-value 'double)
> 2
> 』
> (On Lisp (http://www.komaba.utmc.or.jp/~flatline/onlispjhtml/functions.html))
>
> みたいな文章があるから、'doubleとかを『シンボル』と言っていいのかな、と。
>
> もちろん上の場合、ホントはdoubleがシンボルで、それを『評価しない』って
> コトだけだろうとは思うんですが。
どう表現すべきなのか決まってるのかはわかりませんが、一応 Common Lisp な
xyzzy でしらべてみると、
make-symbol
Type: Function
Arguments: make-symbol PRINT-NAME
Package: lisp
File: builtin.l
印字名がPRINT-NAMEであるuninternedなシンボルを返します。
(make-symbol "hoge")
#:hoge
とか、ぐぐるとこんなのが。
シンボルとパッケージ
http://www.fireproject.jp/feature/common-lisp/details/symbol-package.html
シンボルは以下から構成される.
* シンボル名
* パッケージ
* 変数値
* 関数
* 属性リスト
シンボルは簡単に作成できて,見ためも単なる文字列のように見えるが,
内部では構造を持っていて,いろいろな情報を持っている.
--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?
mail kbk [at] kt.rim.or.jp
web www.kt.rim.or.jp/~kbk/zakkicho/
homepage3.nifty.com/farstar/