VocabularysyntaxSyntaxPREDICATE: class < superclass predicate... ;
Inputs and outputs| class | a new class word to define |
| superclass | an existing class word |
| predicate | membership test with stack effect ( superclass -- ? ) |
Word descriptionDefines a predicate class deriving from
superclass.
An object is an instance of a predicate class if two conditions hold:
| • | it is an instance of the predicate's superclass, |
| • | it satisfies the predicate |
Each predicate must be defined as a subclass of some other class. This ensures that predicates inheriting from disjoint classes do not need to be exhaustively tested during method dispatch.
ExamplesUSING: math ;
PREDICATE: positive < integer 0 > ;
See alsopredicate-class,
define-predicate-classDefinition