System-Class SYMBOL

UP


System-Class SYMBOL

System Class SYMBOL

クラス優先順位リスト

symbol, t

定義

シンボルは、オブジェクトの同一性のために、 Common Lispでは、変数や関数といった(しかし限定はしない)言語的な実体を含む、 様々な実体に名前を付けるために使用されます。

シンボルはパッケージの中に集めることができます。 もしシンボルがパッケージからアクセス可能な時、 シンボルはパッケージにinternされたと言います。 同じシンボルは、複数のパッケージにinternすることができます。 もしシンボルがどのパッケージにもinternされていないとき、 それはuninternと呼ばれます。

internされたシンボルは、 アクセス可能などのパッケージからもその名前によって 一意に識別することができます。

歴史的な理由からこれをcellと呼ぶことがありますが、 実際のシンボルの内部表現とそれらの属性は実装依存です。

シンボルの値のセルや関数のセルに対する操作は、 シンボル自身に対する影響という観点から説明されることがありますが、 ユーザーは、これらのセルの内容とグローバル変数やグローバル関数定義との間に 密接な関係があることを心に留めておく必要があります。

シンボルはレキシカル変数やレキシカル関数の定義の識別子として使用されますが、 その役割においては、ただオブジェクトの同一性のみが重要です。 Common Lispはシンボルに対して、レキシカル変数やレキシカル関数の定義に 影響を与えるような操作は提供されません。

参考

2.3.4. トークンとしてのシンボル, 2.3.1.1. トークンとしての潜在的数, 22.1.3.3. シンボルの印字


TOP, Github