[swift-evolution] Stdlib closure argument labels and parameter names
Dave Abrahams
dabrahams at apple.com
Sat Jun 25 17:35:20 CDT 2016
on Thu Jun 23 2016, Erica Sadun <erica-AT-ericasadun.com> wrote:
>> On Jun 23, 2016, at 12:39 AM, David Hart <david at hartbit.com> wrote:
>>> - for test in removeFirstTests.filter({ $0.numberToRemove == 1 }) {
>>> + for test in removeFirstTests.filter(
>>> + suchThat: { $0.numberToRemove == 1 }
>>>
>>> The difference between `filter` and `forEach` is that `forEach` is explicitly
>>> procedural while `filter` is functional. I do not like functional chainable
>>> calls being modified to use explicit external labels in this way.
>>>
>>> I'd prefer no label here.
>>
>> Quick aside. Eric, if you prefer no label here, why did you not also
>> prefer no labels for contains and elementsEqual? They also have very
>> functional. But if we must have a label, I’d vote for `where`.
>
> contains and elementsEqual both return Booleans which are almost never chained.
What does chaining have to do with the presence of argument labels?
--
-Dave
More information about the swift-evolution
mailing list