> At the risk of asking one of those newbie questions, why bother with StrideTo > and StrideThrough? Isn't a Generator or Array more to the point?
You don't want to return an Array because you want to generate the values lazily. If `stride(over: 1..<1_000_000, by: 10)` returned an Array, you would have to allocate an array with 100,000 elements. A StrideTo, by contrast, is the size of roughly 3 elements; it creates the values on demand. You can't return Generator because Generator is a protocol with no real behavior associated with it; you need a concrete type. StrideTo and StrideThrough conform to Sequence, a protocol whose main purpose is to return a Generator. (well, Iterator in Swift 3). So in essence, StrideTo and StrideThrough *are* how you return a Generator. -- Brent Royal-Gordon Architechies _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution