Mark Reed asked:
OK, sorry if I missed this in an earlier discussion. For purposes of calculating this Manhattan distance, I gather that we're treating lists of N arguments/parameters as points in N-space. I further assume that the monoaxial distance between a parameter coördinate and the corresponding argument coördinate - the distance between two types, where the types are known to be assignment-compatible - is the number of inheritance steps between them?
Correct. This is the usual underlying metric, regardless of MMD scheme.
And one more dumb question: why is it that the L[1] metric is superior to the L[2] metric for this purpose?
The use of summed lineal distance (L[1]) rather than RMS distance (L[2]) probably *isn't* superior as a closeness measure. But it's computationally much simpler (and hence likely to be more efficient), it doesn't suffer from precision issues in "photo finishes", and it is almost certainly easier for the average programmer to predict correctly.
That said, I'd have no *particular* objection to an MMD implementation that used RMS inheritance distance as its metric, provided the dispatch performance was not appreciably worse.
Damian