on Sun Apr 17 2016, Howard Lovatt <[email protected]> wrote:
> Yes I am proposing something like protocol Subscriptable that defines the > subscript operation and indices and entries properties. That sounds like a protocol that is just a bag of syntax without semantic requirements, which—forgive my pretentious tone—goes against the principles of generic programming on which the standard library was founded. We won't have a “plusable” for things you can apply the “+” operator to, for similar reasons. > On Sunday, 17 April 2016, Brent Royal-Gordon > <[email protected]> wrote: > > > With the above definition I would suggest a name change to entries, > since > a Dictionary's keys are not necessarily numbers, hence enumerate is > misleading. > > > > Nothing for Set since it isn't subscriptable. > > I think you're slightly confused. All Collections have an Index. > Dictionary's Index is not its Key; it is an opaque type which references > an > entry in its internal table. Set also has an Index; again, it is an opaque > type which references an entry in its internal table. Your `enumerate()` > (or > my `indexed()`) would return these opaque `Index`es on all of these types. > > If you want Array to return `(Int, Element)`, Dictionary to return `(Key, > Value)`, and Set to not have the operation at all, you're describing > something ad-hoc and entirely disconnected from the Collection type. > > -- > Brent Royal-Gordon > Architechies -- Dave _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
