Seems to me that anything with `-compare:` could conform to Comparable. The list, however, is surprisingly short, and half bridge over to native Swift types that are already Comparable:
- [NSDate compare:] - [NSIndexPath compare:] - [NSNumber compare:] - [NSString compare:] Looks like NSIndexPath may be the only other contender. Stephen > On Dec 6, 2015, at 11:47 AM, Tony Parker via swift-evolution > <swift-evolut...@swift.org> wrote: > > Hi Chris, > > Thanks for bringing this idea to the list. > > Is NSDate really the only thing that we want to conform to comparable, or is > there a set of classes which should do so? I’d like to think about the larger > set of consequences here (and if possible, deal with one coherent answer for > all of Foundation rather than do these classes one at a time). > > - Tony > >> On Dec 5, 2015, at 3:36 PM, Chris Amanse via swift-corelibs-dev >> <swift-corelibs-dev@swift.org <mailto:swift-corelibs-dev@swift.org>> wrote: >> >> Hello Swift Developers, >> >> I think it's a good idea to conform NSDate to the Comparable protocol, so >> instead of using: >> >> if someDate.compare(today) == .OrderedAscending { } >> >> Developers can easily compare using compare dates using comparison operators: >> >> if someDate < today { } >> >> In my opinion, the code is still readable if developers use comparison >> operators on NSDates. >> >> Here's a quick implementation from my swift-corelibs-foundation fork: >> https://github.com/chrisamanse/swift-corelibs-foundation/commit/3c4eff643c5271de5bec2461798051347be13916 >> >> <https://github.com/chrisamanse/swift-corelibs-foundation/commit/3c4eff643c5271de5bec2461798051347be13916> >> >> Thank you. >> _______________________________________________ >> swift-corelibs-dev mailing list >> swift-corelibs-dev@swift.org <mailto:swift-corelibs-dev@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev >> <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev> > > _______________________________________________ > swift-evolution mailing list > swift-evolut...@swift.org <mailto:swift-evolut...@swift.org> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev