> On Dec 31, 2015, at 4:14 AM, Tino Heth <[email protected]> wrote:
> 
> 
>> func byComparing<T, U: Comparable>(getComparisonKey: (T)->U) -> (T, T) -> 
>> Bool {
>>   return { getComparisonKey($0) < getComparisonKey($1) }
>> }
> I've written something similar to bring file URLs into the order of their 
> creation dates.
> It is a small extension for collection types, and its only downside will 
> disappear as soon as properties are accessible via method calls (afair there 
> is a proposal in the making).
> 
> It was quite a lot fiddling with generics, and I don't have the tiny piece of 
> code on my own computer, but it works in a way that you can do
> let sorted = array.sortUsingAccessor(ElementType.methodThatReturnsComparable)
> Beside the problems with properties, I really liked that approach.

This seems to be essentially the same design as Susan’s, and has the same 
problem: it requires a new overload for every algorithm that takes a comparison 
predicate.

-Dave

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to