on Fri May 06 2016, Cole Campbell <swift-evolution@swift.org> wrote:
> I don't know if it's considered too late at this point to rename 'reduce', but > I'll add an enthusiastic +1 to renaming it to 'fold' and adding 'unfold'. > 'Fold' > is just as obvious a name as 'reduce', IMO (actually I even prefer > it). It's not, IMO. “Reduce” was chosen deliberately over “fold” because we think it is more in “common currency” among programmers, in no small part to the notice that MapReduce has gotten. > I think changing it now with other source-breaking changes is better > than moving forward with 'reduce' and a corresponding function with a > confusing name. Fold/unfold would fit in beautifully with the > prefix/suffix pairings already in the standard library. > > Cole > > On May 6, 2016, at 1:29 AM, David Hart via swift-evolution > <swift-evolution@swift.org> wrote: > > If we are discussing naming changes to reduce, here's my personal opinion: > > * When I first encountered it, I understood exactly what it did because I > knew that term of art. If it was named sequence, I would have been > confused. > * If we are discussing name changes, I'd personally vote to change it to > fold. It is the other term of art used for it, and it makes unfold work. > > David > > On 05 May 2016, at 22:39, Chris Lattner via swift-evolution > <swift-evolution@swift.org> wrote: > > On May 5, 2016, at 1:03 PM, Erica Sadun <er...@ericasadun.com> > wrote: > > On May 4, 2016, at 5:50 PM, Chris Lattner via swift-evolution > <swift-evolution@swift.org> wrote: > > Proposal link: > > https://github.com/apple/swift-evolution/blob/master/proposals/0045-scan-takewhile-dropwhile.md > > Sequence.prefix(while:) & Sequence.drop(while:) - These are > *accepted* as specified in revision 3 of the proposal. > > I'm still a little sad we didn't go for `prefix`/`suffix` or > `take`/ > `drop` pairs that linguistically matched.Nonetheless I'm gratified > these are hopping into the language. That said, I'm going to put > on > my painters cap to consider selecting some exterior latex for the > feature I was most looking forward to in this proposal: > > Core team writes: > > unfold(_:applying:) - This addition is *rejected* by the core > team as written, but deserves more discussion in the > community, > and potentially could be the subject of a future proposal. The > core team felt that the utility of this operation is high > enough > to be worth including in the standard library, but could not > find an acceptable name for it. “unfold” is problematic, > despite > its precedence in other language, because Swift calls the > corresponding operation “reduce” and not “fold”. No one could > get excited about “unreduce”. “iterate” was also considered, > but > a noun is more appropriate than an verb in this case. Given > the > lack of a good name, the core team preferred to reject to let > the community discuss it more. > > A few thoughts: > > * I'm not sure why a noun is more appropriate than a verb. Reduce > isn't a noun, prefix isn't a noun, drop isn't a noun. > > I’m not a naming guru, but my understanding is that ‘reduce’ was > picked > because it was term of art (like map), which is what allowed the > misuse > of a verb. > > One idea that came out of the core team discussion was something like: > > sequence(from: 0) { $0 += 42 } > > Since it returns a sequence. > > -Chris > > _______________________________________________ > 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 > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution -- Dave _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution