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
