On Tue, Mar 08, 2005 at 03:21:42PM -0700, Luke Palmer wrote: : > 3) I guess the distance function is not specified yet, right? : : It was specified as simple manhattan. I've been arguing for the past : year to get this changed (to 'pure', where there is no distance : function; two methods, which are both viable, where one's matching does : not imply the other's matching, are ambiguous).
I wonder if it would be practical to let the caller specify how much "fuzz" they're willing to put up with. If manhattan were the default, you could then maybe say something like "use fuzz 0" to get pure dispatch for all your calls at least, without necessarily impacting anyone else's calls. I'm not sure what the units of "fuzz" would be though...I suppose standard manhattan's fuzz is actually Inf, if you're counting allowed degrees of derivation. In any event, this seems like something that could be a lexically scoped policy. Except maybe you'd have to write your modules differently to be called under different policies. Hmm... But still, maybe we can fudge it like we do with "use fatal" and fail(). Larry