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

Thorsten Seitz tseitz42 at icloud.com
Sat Apr 16 06:12:36 CDT 2016

> 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.

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


More information about the swift-evolution mailing list