[swift-evolution] Introduction of OrderedSet

Xiaodi Wu xiaodi.wu at gmail.com
Fri Jun 9 12:19:20 CDT 2017


Let me try to redirect this conversation, if I may.

As far as I can tell, SE-0069 states plainly that the plan of record is to
offer a value type called OrderedSet in Foundation, but resources to design
and implement were not then available.

So, little point in having a vote as to whether one is in favor of
OrderedSet or not. In my view, the questions to be answered are:

For the core team–

* Is it still the plan to offer value types postponed from SE-0069 as a
future addition to Foundation?

* If so, is that a priority in the Swift 5 timeframe, and how can the
community help to bring about this addition?

If not, for the whole community–

* Is it wise to implement such a type in the standard library? Should we
simply bring over the native implementation from Swift Package Manager?
What are the implications for bridging?
On Fri, Jun 9, 2017 at 11:38 Remy Demarest via swift-evolution <
swift-evolution at swift.org> wrote:

> +1 for ordered set and dictionary, and please add ordered dictionary in
> ObjC as well.
>
> Envoyé de mon iPhone
>
> Le 9 juin 2017 à 03:11, Robert Bennett via swift-evolution <
> swift-evolution at swift.org> a écrit :
>
> +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 at 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
>
> SlaunchaMan at gmail.com | @SlaunchaMan <https://twitter.com/SlaunchaMan> |
> jeffkelley.org
>
> On Jun 7, 2017, at 2:10 PM, Maik Koslowski via swift-evolution <
> swift-evolution at 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 at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170609/34245926/attachment.html>


More information about the swift-evolution mailing list