Disagree. As Nevin reminded us, Swift Evolution is not a democracy, and naming isn't a popularity contest.
We have a set of naming guidelines, and the goal is to find the name that best reflects those guidelines and most clearly expresses the desired meaning. We can reason about this in the forum, explaining why we think one name reflects such objectives better than another, but the fact that many people prefer something doesn't help explain why it's better or even help us to determine whether or not it is.
Maybe it should be put up as a proposal and if we donāt agree with the first draft letās iterate on it to get to a better name. Putting up a proposal will help move it forward. I think we all agree on a least adding the functionality.
The question is which one best fits the guidelines. The Swift Evolution community is not even close to being representative of the broader community of Swift users; there is no validity in having a vote.
Whoever writes the proposal gets to pick what they think is the best, and if no others are superior, then the proposal would be approved as written.
Since we're going to bikeshed again, I might as well contribute a new thought:
All other things being equal, a name that has some resemblance to the name of analogous methods in other languages is better than one that is completely novel. There's a lot to be said for familiarity. Many languages use words such as all, each, etc. in the name for this proposed method.
It occurs to me that we already have a precedent in Swift. There's already a method which uses one of the common words above, that causes each element to be used in turn as the argument for a custom function: forEach.
Therefore, I think we have a possibly good candidate name: isEach.
It looked a bit weird to me at first as well, but if you think about it, it makes sense: isEach(even), isEach(prime) vs areEach(odd) which doesn't sound as nice.
I really like containsOnly! Itās behavior is clear to anyone reading it (who knows what contains does). Clear and simple. All of the other things I have heard are a bit surprising/ambiguous to me...
Not sure if containsNone is really needed (as opposed to just !contains or contains().isFalse), but I wouldnāt vote against it because of it. I donāt feel strongly either way. I donāt like containsNo and would much rather just use containsNone across the board.
That is an excellent point, and I think it effectively precludes the use āisā and āareā. Furthermore, whatever spelling we choose needs to read well both when called on a variable as well as when called on self inside an extension.
The main candidates appear to be containsOnly and all. The former is more verbose and explanatory, whereas the latter is more concise and an existing term of art. Either one would be fine by me.
So, I still think a negative is worth including, just for completeness sake. Many languages provide all 3, and as discussed in the "toggle() on Bool" thread, many of us prefer to make these statements more explicit than the ! operator. The argument that it is trivial also applies to "all".
So while neither of these functions are absolutely necessary, I think if we have "all", it is entirely reasonable to also want "none". The only question is finding a name - which is difficult, for sure, but I think we already have good options.
For me, the 2 leading naming options are:
Plain-English. Has a certain appeal in your complex logic flows.