まず、例外のシンボルから説明する。
lisp 言語で定義される特殊なシンボルとしては、nil に対応する t と、 ZetaLisp や Common Lisp でキーワードパッケージと言うパッケージで管理さ れているシンボルとがある。
t は大域値の初期値として t 自身を持っている。したがって t を評価すると t が局所的に束縛されていない限り t 自身が得られる。
t 評価→ t
canlisp ではシンボルの管理にはパッケージは用いないが、コロン(:)で始ま るシンボルはキーワードパッケージに属するシンボルとして、canlisp reader により自分自身を大域値として持つ。したがってキーワードパッケージ シンボルを評価するとそのシンボル自身になる。
:user 評価→ :user :abcd 評価→ :abcd