>> And as I said, if we feel `filter` is unsalvageable, the alternate
>> Smalltalk-lineage `select` is clearer.
> 
> Than “where?”

No, than "filter". "filter" is the most common name, but "select" is also 
fairly popular, and doesn't have the same ambiguity issues as "filter". "where" 
is slightly clearer than "filter", but it finds little precedent in other 
languages (the only other use I'm aware of is in SQL and LINQ, which are 
declarative), ignores the normal grammar rules for a method ("where" is an 
adverb, not a noun or verb), and is already a language keyword which has been 
overloaded with several slightly different semantics, including list filtering 
in the `for` loop.

>>> – There's very significant brevity issues here, e.g. hyperbolicArcTangent() 
>>> vs atanh().
>> 
>> Sure, but `mappingAndFlattening(to:)` would have brevity issues as
>> well. (You didn't think the API Guidelines merely meant "add -ed or
>> -ing to everything", did you?)
> 
> That would, IMO, be:
> 
>  x.flatMapping(fourCopies)

Why? If we're leaving the terms of art behind, we probably ought to consider 
that the base name `flatMap` is rather opaque to new users; I've seen people in 
my NSCoder group struggle with it. For that matter, `map` and `reduce` aren't 
the best names either.

I can understand wanting to keep terms of art even if they're a little opaque. 
I can understand wanting to invent new, clear terms. I cannot understand 
wanting to make minor cosmetic changes to the terms of art while still keeping 
the parts that make them opaque. You lose many of the benefits of a term of art 
*and* most of the benefits of a new term.

It's a bit like painting a single wall in a room: You can match the existing 
color exactly and have it look seamless, or you can choose an obviously 
different color and make a statement, but choosing a slightly different shade 
of the existing color does neither of those things.

-- 
Brent Royal-Gordon
Architechies

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to