Predicating.
(satisfies
{predicate-name})
predicate-name | a symbol. |
This denotes the set of all objects that satisfy the
predicate predicate-name, which must be a symbol
whose global function definition is a one-argument
predicate. A name is required for predicate-name;
lambda expressions are not allowed.
For example, the type specifier (and integer (satisfies evenp))
denotes the set of all even integers.
The form (typep x '(satisfies p))
is equivalent to
(if (p x) t nil)
.
The argument is required. The symbol * can be the argument, but it denotes itself (the symbol *), and does not represent an unspecified value.
The symbol satisfies is not valid as a type specifier.