npt-japanese

% Declaration FTYPE

UP


Declaration FTYPE

Declaration FTYPE

構文

(ftype type function-name*)

引数

function-name - 関数名
type - 型指定子

有効な文脈

declareproclaim

影響する束縛の型

関数

定義

function-nameという名前の関数に対して、関数の型typeを指定します。 例えば下記の通り。

(declare (ftype (function (integer list) t) ith)
         (ftype (function (number) float) sine cosine))

もしあるひとつの関数が宣言されており、 その関数がレキシカルにローカル定義を持っているとき (fletlabelsによって作成されたもの)、 その宣言はグローバル関数定義ではなく、ローカルの関数定義に適用されます。 ftype宣言は変数の束縛には適用しません (typeをご確認ください)。

function-nameのレキシカルな束縛に現れたものは、 マクロ定義には適用しません (これはftypeが各関数名の関数定義について functionの特定のサブタイプを宣言するからであり、 マクロはそのような関数を表すものではないためです)。

ftype宣言は、自由宣言と境界宣言のどちらも使えます。 fletlabelsフォーム本体の前に現れた 関数のftype宣言は、 関数の境界宣言として定義されます。 その他の文脈の宣言は自由宣言です。

参考

declare, declaim, proclaim


TOP, Github