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

[email protected] | @SlaunchaMan <https://twitter.com/SlaunchaMan> | 
jeffkelley.org <http://jeffkelley.org/>
> On Jun 7, 2017, at 2:10 PM, Maik Koslowski via swift-evolution 
> <[email protected]> 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
>  
> <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
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

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

Reply via email to