> On May 5, 2016, at 1:03 PM, Erica Sadun <[email protected]> wrote:
>
> On May 4, 2016, at 5:50 PM, Chris Lattner via swift-evolution
> <[email protected] <mailto:[email protected]>> wrote:
>>
>> Proposal link:
>> https://github.com/apple/swift-evolution/blob/master/proposals/0045-scan-takewhile-dropwhile.md
>>
>> <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
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution