67 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | 
 | ||
|  | :- protocol(hierarchyp). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- info([ | ||
|  | 		version is 1.0, | ||
|  | 		authors is 'Paulo Moura', | ||
|  | 		date is 2000/7/24, | ||
|  | 		comment is 'Common hierarchy protocol for prototype and class hierarchies.']). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(ancestor/1). | ||
|  | 
 | ||
|  | 	:- mode(ancestor(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(ancestor/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all object ancestors.', | ||
|  | 		argnames is ['Ancestor']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(ancestors/1). | ||
|  | 
 | ||
|  | 	:- mode(ancestors(-list), one). | ||
|  | 
 | ||
|  | 	:- info(ancestors/1, [ | ||
|  | 		comment is 'List of all object ancestors.', | ||
|  | 		argnames is ['Ancestors']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(leaf/1). | ||
|  | 
 | ||
|  | 	:- mode(leaf(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(leaf/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all object leaves.', | ||
|  | 		argnames is ['Leaf']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(leaves/1). | ||
|  | 
 | ||
|  | 	:- mode(leaves(-list), one). | ||
|  | 
 | ||
|  | 	:- info(leaves/1, [ | ||
|  | 		comment is 'List of all object leaves.', | ||
|  | 		argnames is ['Leaves']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(descendant/1). | ||
|  | 
 | ||
|  | 	:- mode(descendant(?object), zero_or_more). | ||
|  | 
 | ||
|  | 	:- info(descendant/1, [ | ||
|  | 		comment is 'Returns, by backtracking, all object descendants.', | ||
|  | 		argnames is ['Descendant']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | 	:- public(descendants/1). | ||
|  | 
 | ||
|  | 	:- mode(descendants(-list), one). | ||
|  | 
 | ||
|  | 	:- info(descendants/1, [ | ||
|  | 		comment is 'List of all object descendants.', | ||
|  | 		argnames is ['Descendants']]). | ||
|  | 
 | ||
|  | 
 | ||
|  | :- end_protocol. |