> On Apr 10, 2016, at 2:41 PM, Chris Lattner via swift-evolution > <swift-evolution@swift.org> wrote: > > Hello Swift community, > > The review of "A New Model for Collections and Indices" begins now and runs > through April 18th. The proposal is available here: > > > https://github.com/apple/swift-evolution/blob/master/proposals/0065-collections-move-indices.md > > Reviews are an important part of the Swift evolution process. All reviews > should be sent to the swift-evolution mailing list at: > https://lists.swift.org/mailman/listinfo/swift-evolution > or, if you would like to keep your feedback private, directly to the review > manager. > > > What goes into a review? > > The goal of the review process is to improve the proposal under review > through constructive criticism and, eventually, determine the direction of > Swift. When writing your review, here are some questions you might want to > answer in your review: > > * What is your evaluation of the proposal?
I agree with the general direction and scope of the proposal, but I think the names could use some changes. Specifically, I don’t think the fallback to ‘form’ is required. It would be a significant readability improvement to use a meaningful verb to describe the action of altering the argument. The methods that create new indices probably need a label on the first argument, because otherwise it looks as if the IndexDistance is what is described by ‘index’. Proposed: func successor(of i: Index) -> Index func formSuccessor(i: inout Index) Instead, I suggest: func successor(of i : Index) -> Index func advance(i: inout Index) Proposed: func index(n: IndexDistance, stepsFrom i: Index) -> Index func index(n: IndexDistance, stepsFrom i: Index, limitedBy limit: Index) -> Index func formIndex(n: IndexDistance, stepsFrom i: inout Index) func formIndex(n: IndexDistance, stepsFrom i: inout Index, limitedBy limit: Index) Suggested (taking into account Nate’s suggestion of reversing the order): func index(startingAt i: Index, movedBy n: IndexDistance) -> Index func index(startingAt i: Index, movedBy n: IndexDistance, limitedBy limit: Index) -> Index func move(i : inout Index, by n: IndexDistance) func move(i : inout Index, by n: IndexDistance, limitedBy limit: Index) Proposed: func predecessor(of i: Index) -> Index func formPredecessor(i: inout Index) Suggested: func predecessor(of i: Index) -> Index func reverse(i: inout Index) I think reversing an index has some nice symmetry with reversing a sequence, but if it seems to confusing, then replace advance and reverse with ‘moveForward’ and ‘moveBackward’. - Tony > * Is the problem being addressed significant enough to warrant a change > to Swift? > * Does this proposal fit well with the feel and direction of Swift? > * If you have you used other languages or libraries with a similar > feature, how do you feel that this proposal compares to those? > * How much effort did you put into your review? A glance, a quick > reading, or an in-depth study? > > More information about the Swift evolution process is available at > > https://github.com/apple/swift-evolution/blob/master/process.md > > Thank you, > > -Chris Lattner > Review Manager > > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution