2007-09-20 18:09:08 -04:00
|
|
|
USING: generic help.markup help.syntax kernel kernel.private
|
|
|
|
|
namespaces sequences words arrays layouts help effects math
|
2009-05-17 21:29:32 -04:00
|
|
|
classes.private classes compiler.units ;
|
2007-09-20 18:09:08 -04:00
|
|
|
IN: classes.predicate
|
|
|
|
|
|
|
|
|
|
ARTICLE: "predicates" "Predicate classes"
|
|
|
|
|
"Predicate classes allow fine-grained control over method dispatch."
|
2009-10-01 15:56:36 -04:00
|
|
|
{ $subsections
|
2018-08-09 21:53:17 -04:00
|
|
|
\ \PREDICATE:
|
2009-10-01 15:56:36 -04:00
|
|
|
define-predicate-class
|
|
|
|
|
}
|
2007-09-20 18:09:08 -04:00
|
|
|
"The set of predicate classes is a class:"
|
2009-10-01 15:56:36 -04:00
|
|
|
{ $subsections
|
|
|
|
|
predicate-class
|
|
|
|
|
predicate-class?
|
|
|
|
|
} ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
|
ABOUT: "predicates"
|
|
|
|
|
|
|
|
|
|
HELP: define-predicate-class
|
2014-05-18 23:09:10 -04:00
|
|
|
{ $values { "class" class } { "superclass" class } { "definition" { $quotation ( superclass -- ? ) } } }
|
2018-08-09 21:53:17 -04:00
|
|
|
{ $description "Defines a predicate class. This is the run time equivalent of " { $link \ \PREDICATE: } "." }
|
2007-12-30 15:08:48 -05:00
|
|
|
{ $notes "This word must be called from inside " { $link with-compilation-unit } "." }
|
|
|
|
|
{ $side-effects "class" } ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2018-08-09 21:53:17 -04:00
|
|
|
{ predicate-class define-predicate-class \ \PREDICATE: } related-words
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
|
HELP: predicate-class
|
2018-08-09 21:53:17 -04:00
|
|
|
{ $class-description "The class of predicate class words, defined by " { $link \ \PREDICATE: } " and documented in " { $link "predicates" } "." } ;
|