[swift-evolution] [Review] SE-0065 A New Model for Collections and Indices

Dave Abrahams dabrahams at apple.com
Mon Apr 18 16:54:10 CDT 2016


on Sat Apr 16 2016, Thorsten Seitz <swift-evolution at swift.org> wrote:

>> Am 15.04.2016 um 23:19 schrieb Dmitri Gribenko via swift-evolution <swift-evolution at swift.org>:
>> 
>> On Fri, Apr 15, 2016 at 1:30 PM, Stephan Tolksdorf <st at quanttec.com> wrote:
>>> On 2016-04-12 Dmitri Gribenko via swift-evolution wrote:
>>>> 
>
>>>> Not even to mention that
>>>> indices are valid only in context of a particular collection instance,
>>>> so in this model you could validate an index against one collection
>>>> and use it with another one.
>>> 
>>> 
>>> The proposal requires Index values to be Comparable. Does that mean that
>>> indices from different collection instances should be comparable i.e. have a
>>> strict total order?
>> 
>> No, comparing indices from unrelated instances produces unspecified
>> results (incl. traps).
>
> Path dependent types as used in Scala would allow making this
> distinction type safe (see
> http://docs.scala-lang.org/tutorials/tour/inner-classes or
> http://danielwestheide.com/blog/2013/02/13/the-neophytes-guide-to-scala-part-13-path-dependent-types.html)
> by allowing the index type to be rooted at the instance.

Wouldn't that also rule out useful designs, as in those where indices
into one collection are stored in another?

> Are there any plans to adding path dependent types to Swift?

I don't know of any, but that doesn't really mean much.

-- 
Dave



More information about the swift-evolution mailing list