[swift-evolution] [Pitch] Add an all algorithm to Sequence

Karl Wagner razielim at gmail.com
Sun Apr 2 00:51:15 CDT 2017


Given the relationship to contains, why not keep it simple and go with:

onlyContains(_ element:)
onlyContains(_ matching:)

[9, 9, 9, 9, 9].onlyContains(9) // true
[1, 2, 3, 2, 3].onlyContains { $0 < 3 } // false

- Karl

> On 1 Apr 2017, at 10:47, Xiaodi Wu via swift-evolution <swift-evolution at swift.org> wrote:
> 
> On Sat, Apr 1, 2017 at 3:40 AM, David Hart via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> 
> On 1 Apr 2017, at 09:50, Brandon Trussell <brandon2k3 at gmail.com <mailto:brandon2k3 at gmail.com>> wrote:
> 
>> I agree that based on the method name, I thought a collection would be returned.  
> 
> Now that I think more about it, I think you're right. It is confusing. Perhaps:
> 
> allAre(equalTo: )
> allAre(matching: )
> 
> Well, if we're going to go full stdlib naming guidelines, shouldn't they be--
> 
> ```
> areAll(equalTo:)
> areAll(matching:)
> ```
> 
>> On Sat, Apr 1, 2017 at 12:36 AM, David Hart via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> 
>> > On 1 Apr 2017, at 06:02, Will Stanton via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> >
>> > +1 to adding, but the name `all` suggests (to me) the return of another sequence, not a Bool.
>> 
>> I'm not too concerned because the mandatory labels makes it clear.
>> 
>> > Perhaps the function name should be question-like?
>> >
>> > Suggesting: `membersSatisfy(condition:)` or `allSatisfy(condition:)` or maybe even just `satisfies(condition:)`
>> > The question-like modifier/verb is necessary to suggest a Bool and IMO not a needless word.
>> >
>> > Regards,
>> > Will Stanton
>> >
>> >> On Mar 31, 2017, at 11:28, Ben Cohen via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> >>
>> >> Hopefully non-controversial, aside from the naming of the method and arguments, about which controversy abounds
>> >
>> > _______________________________________________
>> > swift-evolution mailing list
>> > swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> > https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>> 
>> 
>> 
>> -- 
>> Brandon
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170402/e4c24271/attachment.html>


More information about the swift-evolution mailing list