> On Apr 13, 2016, at 12:57 PM, Dave Abrahams via swift-evolution > <[email protected]> wrote: > > > on Wed Apr 13 2016, Dave Abrahams <[email protected]> wrote: > >>> Reverse is the best opposite we have of advance, so it makes sense to >>> me. >> >> Oh, I get it. >> >>> Or we could use retreat. =) There are other pairs of words that work >>> as well, like “increment/decrement”. >> >> Yeah, unfortunately those carry an incorrect implication when the >> indices are numbers, because, e.g. the collection might be offsetting >> the number by 2 for each position. One could of course argue that using >> numbers that way as indices was a bad design choice. >> >> I'll have to think about that idea again. We considered and rejected it >> for a reason, but it might not be a really strong one. Thanks for >> bringing it up. > > ...and having talked it over at lunch, now I remember why we rejected > it: there's no good way to make a nonmutating version. > > let x = c.incremented(i) // reads like an assertion about the past > let y = c.incrementing(i) // reads like it has side-effects and returns c, > or > // a new version of c >
In fact, it does return a new version* of c; just like this: let s2 = myString.appending(“foo”) *new version: the result is related to the argument This works out great: let next = c.incrementing(first) c.increment(&next) - Tony > APIs where the receiver returns a modified version of an argument don't > lend themselves to verb forms. > > -- > Dave > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
