+1, and would also like to see OrderedDictionary as well.

> On Jun 9, 2017, at 12:50 AM, Jeff Kelley via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> I would be in favor of it; there have been a few times (including Core Data, 
> as you mentioned) where I would have used it had it been available.
> 
> 
> Jeff Kelley
> 
> slauncha...@gmail.com | @SlaunchaMan | jeffkelley.org
> 
>> On Jun 7, 2017, at 2:10 PM, Maik Koslowski via swift-evolution 
>> <swift-evolution@swift.org> wrote:
>> 
>> Hello,
>> 
>> in the past there have been a few requests for an OrderedSet implementation 
>> in Swift. In the proposal 
>> https://github.com/apple/swift-evolution/blob/master/proposals/0069-swift-mutability-for-foundation.md
>>  was mentioned that the OrderedSet will be considered for the feature.
>> 
>> However, since then there were a few discussions on OrderedSet but it 
>> doesn’t get much attention and there wasn’t any comment about it from the 
>> swift team.
>> 
>> I want to bring up some points, why an OrderedSet is needed in the base 
>> library.
>> 
>> 1. CoreData is probably the most obvious place where people would use an 
>> ordered set. Especially when working with large amounts of data, presorting 
>> can save a lot of time and battery life. If a bridgeable ordered set was 
>> part of the standard library we could use a ordered set in swift without 
>> having to use the NSOrderedSet from objective c. Which would be pretty nice 
>> in my opinion. Even when using a NSOrderedSet we couldn’t have a generic 
>> version of it.
>> 
>> 2. A shared datamodel between App and Server. One main advantage of having 
>> web servers written in Swift is that we can share code between the server 
>> and the app. For servers performance does matter a lot, since they are 
>> usually working with much more data than apps. Databases are represented as 
>> sets and fetching sorted data from the database can be represented as an 
>> ordered set. However, since we don’t have ordered sets we have to choose 
>> either a normal set or an array. Sets don’t have an order and arrays can 
>> contain the same object multiple times, which makes them both a less 
>> suitable choice.
>> 
>> 3. Swift has the potential to be used for education. There is a lot of 
>> support, for example the playground app on iPad. When it comes to the theory 
>> behind data structures and algorithms or to the theory of computation a 
>> defined order plays an important role.
>> 
>> The biggest issue is that we always have to copy data from a set into an 
>> array to have it in a sorted order with losing the safety of uniqueness. 
>> Which is not suitable for a safe and performance oriented programming 
>> language at all.
>> 
>> Last but not least, it fits in the goals of Swift 4 stage 2 and an ordered 
>> set can be found in other popular programming languages, too.
>> 
>> What do you think?
>> 
>> Best regards,
>> 
>> Maik
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to