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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    POSTPONE:  PREDICATE: 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    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  
						 
					
						
							
								
									
										
										
										
											2008-11-16 10:03:30 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $values { "class"  class } { "superclass"  class } { "definition"  { $quotation "( superclass -- ? )"  } } }
							 
						 
					
						
							
								
									
										
										
										
											2007-12-30 16:09:21 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $description "Defines a predicate class. This is the run time equivalent of "  { $link POSTPONE:  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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ predicate-class define-predicate-class POSTPONE:  PREDICATE:  } related-words
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  predicate-class  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $class-description "The class of predicate class words, defined by "  { $link POSTPONE:  PREDICATE:  } " and documented in "  { $link "predicates"  } "."  } ;