Common Lispは巨大な言語であり、Common Lispシステムは大規模できわめて 複雑になりがちである。Emacs Lispは対照的に、プログラマに提供するLisp 機能の選択に関してはむしろ最小主義者である。
Emacs Lispプログラマの数が増えるにつれ、そして彼らの書く アプリケーションがさらに野心的になるにつれ、Emacs LispはCommon Lispの 多くの便利な機能から利益を得られることが明らかになってきた。
CLパッケージはかなりの数のCommon Lisp関数と制御構造をEmacs Lisp に加える。100%完全なCommon Lisp処理系ではないが、CLはEmacs Lisp プログラミングをかなり便利にするために十分な機能を加える。
いくつかのCommon Lisp機能はさまざまな理由でこのパッケージから 省略された:
CLパッケージは一般的にこれらの機能をエミュレートしようとしない。
assoc
関数はCommon Lispのassoc
と非互換である。このような
場合、このパッケージは通常、Common Lisp版の関数名に接尾辞‘*’を
加える(例えば、assoc*
)。
ここで記述されているパッケージはDave Gillespie, daveg@synaptics.comによって書かれた。それはCesar Quirozによる オリジナルの1986 cl.elパッケージの完全な書き直しである。
Quirozパッケージの多くの機能は保たれている; すべての非互換は下文の 記述に注釈されている。この版では各関数は効率的に、簡潔に、そしてEmacs 環境の残りの部分への影響を最小にするよう注意が払われている。
• 使用法: | CLパッケージの使い方 | |
• 構成: | パッケージの5つの構成ファイル | |
• インストール: | CLのコンパイルとインストール | |
• 命名規約: | CL関数名に関する記録 |