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