% Function MAKE-SYMBOL
Function MAKE-SYMBOL
make-symbol name => new-symbol
name - 文字列
new-symbol - 新しい、uninternシンボル
make-symbolは、新しくuninternであり、
名前がnameのシンボルを作成して返却します。
new-symbolは、boundでもfboundでもありません。
そして、nullのプロパティリストを持っています。
new-symbolの名前の文字列が、引数nameなのか、
あるいはそのコピーなのかは実装依存です。
いったん文字列がmake-symbolの引数nameとして与えられたら、
その文字を変更しようとした結果は未定義です。
(setq temp-string "temp") => "temp"
(setq temp-symbol (make-symbol temp-string)) => #:|temp|
(symbol-name temp-symbol) => "temp"
(eq (symbol-name temp-symbol) temp-string) => implementation-dependent
(find-symbol "temp") => NIL, NIL
(eq (make-symbol temp-string) (make-symbol temp-string)) => false
なし。
なし。
もしnameが文字列ではないとき、
型errorのエラーが発生します。
make-symbolは、名前のケースを大文字に変更しようとはしません。
シンボルの大文字小文字の変換は、ただLispのリーダーが実行するだけです。
シンボルを生成するプログラムのインターフェイスは大文字小文字を保持し、
そしてシンボルのinternを行うプログラムインターフェイスは
大文字小文字を区別します。