On Wed, Apr 28, 2004 at 05:20:53PM -0400, Dan Sugalski wrote:
: The first question is... *should* we synthesize anything at all? I'd 
: argue yes, but at this level I can see it going either way.

Probably, in general.  It's the equivalent of a method cache.  But
maybe some people will want to take the space/time tradeoff.

: The second question is "if we do, how do we figure which method is 
: closest?"
: 
: Personally I'm of the geometric distance school here, but it can get 
: a bit tricky, so I'm all for discussion on it. So... let's have at 
: it. :)

Different languages might specify different semantics.  So far Perl
is asking for a simple sum of all the invocant's distances rather
than anything geometric, based on the notion that it should be pretty
easy to tell in advance if you're likely to get a tie.  As soon as you
go geometric your distances are no longer guaranteed to be integral,
and it becomes a little harder to mentally separate the near misses
from the hits.  And we've construed it as a feature to know when
you're unsure...

On the other hand, we did at one point speculate about giving "weights"
to various derivations to specify how "bad" the warping is, where a
0 weight says the derivation is to be considered identical, and a large
number says "just don't go there".  And there are various kinds of
constraints that carry infinite weight.  But we can probably restrict
these weights to integers as well.

Anyway, it probably depends fundamentally on what the language believes
about handling "ties".  Some languages may prefer to always have a way
of settling the order and never pitch a fit about something that's unclear.

Larry

Reply via email to