[swift-evolution] [Discussion] Terms of Art Swiftification

Charlie Monroe charlie at charliemonroe.net
Tue Jun 28 00:31:36 CDT 2016


Erica had a nice list of various term-of-art usages among languages - it included filter, map, etc. - I just can't seem to find it anywhere. This nicely showed that there is only a few languages that name things differently, mostly C# and C++.

"filter" is nowadays quite a universal word that is in many languages - and I'm talking both about programming and a natural language. And I don't think that it goes against what one might be expecting - when you open a filter in the UI, you don't tick things that you don't want to see, but items that you *do* want to see.

I don't think that changing those names will add any additional value to the Swift language. I've personally had more issues with the naming of flatMap - it could have been called filterMap to stay in line of filtering by returning nil (flattening an array is in my head associated with flattening of an array of arrays). But it's a term of art and I got my head around it. 

> On Jun 27, 2016, at 9:31 PM, Erica Sadun via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Under consideration is the resolution that  "some terms of art while appropriate to many FP languages, may be better served by using Swift names."
> 
> Consider, for example, `filter(_:)`. Sean Heber writes,
> 
>> Just tossing my vote in the hat for renaming .filter() to something like .select() since that better matches what it does, IMO. “Filter” is almost like the opposite word from what it should be since the closure returning true is what decides what is included in the results, not what is filtered *from* the results. I mean, yeah, I can kind of understand the logic either way, but it’s always been one of those strange mental gymnastics things."
> 
> 
> When asked "Shouldn't there be a term of art exemption for `filter(_:)`. Otherwise why not use `select(where:)`," Dave Abrahams replies:
> 
>> Because `where(...)` is better.
> 
> 
> Have at it.
> 
> -- E
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160628/0de3179c/attachment.html>


More information about the swift-evolution mailing list