choosing which mode of a pred to use

Fergus Henderson fjh at cs.mu.oz.au
Tue Oct 14 22:01:16 AEST 1997


A while back, I wrote:
> 	1.  Remove any modes that are strictly less instantiated or
> 	    less informative on input than other valid modes; eg,
> 	    prefer an (in, in, out) mode over an (out, in, out) mode,
> 	    but not necessarily over an (out, out, in) mode,
> 	    and prefer a (free -> ...) mode over a (any -> ...) mode,
> 	    and prefer a (bound(f) -> ...) mode over a (ground -> ...) mode,
> 	    and prefer a (... -> dead) mode over a (... -> not dead) mode.
> 
> 	    This is a partial order.
> 
>  	2.  Prioritize them by determinism, in this partial order (best first):
> 
> 				erroneous
> 			       /       \
>  			semidet		failure
> 		      /         \      /
>  		   det		 multi
> 		      \        /
> 			nondet
> 
>  	3.  If there are still multiple possibilities, take them in 
>  	    declaration order.

The determinism ordering given in 2. above is wrong.
It should be the standard information ordering:

 				erroneous
 			       /       \
  			    det		failure
 		          /    \       /
  		      multi	semidet
		         \      /
 			  nondet

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list