"An object is an instance of a intersection class if it is an instance of all of its participants."
{ $subsection POSTPONE:INTERSECTION: }
{ $subsection define-intersection-class }
"Intersection classes can be introspected:"
{ $subsection participants }
"The set of intersection classes is a class:"
{ $subsection intersection-class }
{ $subsection intersection-class? }
"Intersection classes are used to associate a method with objects which are simultaneously instances of multiple different classes, as well as to conveniently define predicates.";
ABOUT: "intersections"
HELP:define-intersection-class
{ $values { "class" class } { "participants""a sequence of classes" } }
{ $description "Defines a intersection class with specified participants. This is the run time equivalent of " { $link POSTPONE:INTERSECTION: } "." }
{ $notes "This word must be called from inside " { $link with-compilation-unit } "." }