[swift-evolution] [Draft] Expanded min/max algorithms
Vladimir.S
svabox at gmail.com
Tue Apr 19 14:52:59 CDT 2016
Agree with notes about minIndex vs indexOfMin. Seems clear for me the later
should be chosen. We have .min() so it is naturally to have .indexOfMin
But I disagree on specialized algorithms. Can't understand, how custom-made
function with block with comparision is better than handful, clear and
explicit method. Btw, I feel your "composition" is not obvious on what is
going on from first look and if instance name is somethingDescriptive
you'll have very long expression instead of method with clear name and
obvious meaning.
What is wrong to have a set of useful and explicit methods for basic
operations on array, map, set etc?
On 19.04.2016 21:12, Dave Abrahams via swift-evolution wrote:
> Just with regard to naming, I don't think these work. I read “minIndex”
> as “the minimum index,” and since we expect all indices to be
> comparable, that clearly implies c.minIndex() == c.startIndex. I think
> you'd need “c.indexOfMin()”
>
> I am also really reluctant to add specialized algorithms for things
> that can be trivially composed out of existing parts, e.g.
>
> c.indices.min { c[$0] < c[$1] }
>
> Once we start down this road, we very quickly end up with mapValues,
> mapKeys, indexOfMinimumKey, etc.
More information about the swift-evolution
mailing list