I did a survey of naming conventions across a variety of languages:
| Language | Predicate true for at least one | Predicate true for all | At least one equals given value | All elements equal given value |
|---|---|---|---|---|
| C# | Any |
All |
Contains |
– |
| C++ | any_of |
all_of |
– | – |
| Clojure | some |
every? |
– | – |
| F# | exists |
forall |
contains |
– |
| Haskell | any |
all |
elem |
– |
| Java | anyMatch |
allMatch |
contains |
– |
| JavaScript | some |
every |
includes |
– |
| Kotlin | any |
all |
contains |
– |
| Matlab | any |
all |
ismember |
– |
| PHP | array_some |
array_every |
in_array |
– |
| Python | any |
all |
… in … |
– |
| R | any |
all |
…%in% … |
all.equal |
| Ruby | any? |
all? |
include? |
– |
| Rust | any |
all |
contains |
– |
| Scala | exists |
forall |
contains |
– |
This includes nearly all the most popular & “most loved” languages in the latest Stack Overflow survey that have closures or other predicate-like constructs.
Some observations:
- For the first function:
- 10 use the word “any”
- 3 use “some”
- 2 use “exists”
- For the second function:
- 12 use the word “all”
- 3 use the word “every”
- For the third function:
- 6 use the word “contains”
- 3 use “in”
- 2 use “include(s)”
- 1 uses “elem”
- No language strives for parallel naming between the first and third.
- Only one language implements an “all elements equal a given value” function — at least that I could find. If any of these other languages have one and I missed it, please let me know and I'll update the table. (Rust does have an
all_equal, but it seems to mean all equal to each other, not to a given value)