Previous: , Up: 概観   [Contents][Index]


1.4 命名規約

注釈がある場合を除いて、このパッケージが定義するすべての関数はCommon Lispの相対物と同じ名前と呼び出し規約を持つ。

下記は、通常はEmacsとの衝突を避けるためCommon Lispから名前を変えた関数 の完全なリストである。それぞれ、Emacs名を得るためにCommon Lisp名に ‘*’を付加している。

defun*        defsubst*     defmacro*     function*
member*       assoc*        rassoc*       get*
remove*       delete*       mapcar*       sort*
floor*        ceiling*      truncate*     round*
mod*          rem*          random*       last*

パッケージの内部関数と変数名は接頭辞cl-がついている。Common Lispからとられていない、接頭辞cl-ついていない関数の 完全なリストは以下の通り:

member        delete        remove        remq
rassoc        floatp-safe   lexical-let   lexical-let*
callf         callf2        letf          letf*
defsubst*     defalias      add-hook      eval-when-compile

(これらの多くはEmacs 18ユーザへ提供されるEmacs 19機能か、remqの ように類似の機能との対称の理由で導入されるものである)

下記の単純関数とマクロはcl.elに定義されている; これらは cl-extraのような他の構成要素のロードを引き起こさない。

eql           floatp-safe   abs           endp
evenp         oddp          plusp         minusp
butlast       nbutlast                    caar .. cddddr
list*         ldiff         rest          first .. tenth
member [1]    copy-list     subst         mapcar* [2]
adjoin [3]    acons         pairlis       when
unless        pop [4]       push [4]      pushnew [3,4]
incf [4]      decf [4]      proclaim      declaim
add-hook

[1] これはEmacs 19互換関数であり、member*ではない。

[2] 1個の列引数か2個のリスト引数のみ。

[3] :testeqequal、または指定されていない場合 で、:keyが使われていない場合のみ。

[4] placeが単に変数名である場合のみ。