Type Specifier SATISFIES
述部
satisfies
predicate-name
predicate-name - シンボル
全てのオブジェクトの集合は、 predicate-nameの述部を満たすことを示します。 predicate-nameはひとつの引数を受け取る グローバル関数定義のシンボルでなければなりません。 predicate-nameは名前を要求するため、 ラムダ式は許されません。 例えば、型指定子(and integer (satisfies evenp))
は、 全ての偶数の整数を示します。 (typep x '(satisfies p))
フォームは、 (if (p x) t nil)
と同等です。
引数は要求されます。 シンボル*
は引数に指定できますが、 しかしそれは自分自身(つまりシンボル*
)を示しているのであって、 未指定の値を表現しているのではありません。
シンボルとしてのsatisfies
は、有効な型指定子ではありません。