-1 The Term of Art argument is very strong with these functions. I prefer them 
as-is.

> On 16 Jun 2016, at 12:51, Patrick Pijnappel via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> Due to considerably support on this thread 
> <http://news.gmane.org/find-root.php?group=gmane.comp.lang.swift.evolution&article=20783>,
>  a draft proposal to revisit the core functional method exceptions to the 
> -ed/-ing rule.
> 
> Online version: 
> https://github.com/PatrickPijnappel/swift-evolution/blob/functional-methods-ed-ing/proposals/XXXX-functional-methods-ed-ing.md
>  
> <https://github.com/PatrickPijnappel/swift-evolution/blob/functional-methods-ed-ing/proposals/XXXX-functional-methods-ed-ing.md>
> 
> Apply -ed/-ing rule to core functional methods
> 
> Proposal: SE-NNNN 
> <https://github.com/PatrickPijnappel/swift-evolution/blob/functional-methods-ed-ing/proposals/NNNN-functional-methods-ed-ing.md>
> Author: Patrick Pijnappel <https://github.com/PatrickPijnappel>
> Status: Awaiting review
> Review manager: TBD
>  
> <https://github.com/PatrickPijnappel/swift-evolution/blob/functional-methods-ed-ing/proposals/XXXX-functional-methods-ed-ing.md#introduction>Introduction
> 
> The Swift API Guidelines standardizes non-mutating method forms on verbs 
> ending in -ed/-ing (or nouns). However, a few non-mutating forms have been 
> kept as "Terms of Art": map, flatMap, filter, reduce, dropFirst and dropLast. 
> This proposal proposes to bring these in line with all other non-mutating 
> forms (e.g. filter => filtered).
> 
> Swift-evolution threads: Source 
> <http://news.gmane.org/find-root.php?group=gmane.comp.lang.swift.evolution&article=20783>
>  
> <https://github.com/PatrickPijnappel/swift-evolution/blob/functional-methods-ed-ing/proposals/XXXX-functional-methods-ed-ing.md#motivation>Motivation
> 
> These method have been kept to preserve the terms of art. Generally, this can 
> have significant benefits:
> 
> Anyone familiar with the term will immediately understand it, and use their 
> assumptions about how it works.
> Users learning the term from Swift can use their knowledge when encountering 
> it elsewhere.
> Experienced users will be able to use the mental pattern matching they've 
> built-up for quickly recognizing common programming patterns.
> However, basically all of the benefits of using a term of art still apply to 
> the modified forms: – For recognition, the modified forms are still very 
> close to the traditional terms of art. So both coming to and from Swift 
> you'll be able to use your knowledge pretty much unaffected. 
> 
> If the user looks for e.g. filter they are pretty much guaranteed to quickly 
> find the correct form, be it through code-completion, google or a fix-it.
> There isn't really any violation of assumptions that might cause problems in 
> this case.
> Any mental pattern matching will likely transfer quickly due to the minimal 
> difference.
>  
> <https://github.com/PatrickPijnappel/swift-evolution/blob/functional-methods-ed-ing/proposals/XXXX-functional-methods-ed-ing.md#proposed-solution>Proposed
>  solution
> 
> The proposed solution modifies the method verbs to their -ed/-ing forms 
> (preferring the former). 
> 
> It removes the last clear exceptions to the -ed/-ing rule from the standard 
> library, which previously were exactly the opposite of what one would expect 
> based on the API guidelines (and the rest of the language).
> 
> It also aids users in learning to pattern match on the -ed/-ing rule and 
> internalizing the API guidelines, since now all methods are named this way – 
> instead of the most commonly used methods defying the normal pattern.
> 
>  
> <https://github.com/PatrickPijnappel/swift-evolution/blob/functional-methods-ed-ing/proposals/XXXX-functional-methods-ed-ing.md#detailed-design>Detailed
>  design
> 
> The change would rename the following method families:
> 
> map       => mapped
> flatMap   => flatMapped 
> filter    => filtered
> reduce    => reduced
> dropFirst => droppingFirst
> dropLast  => droppingLast
>  
> <https://github.com/PatrickPijnappel/swift-evolution/blob/functional-methods-ed-ing/proposals/XXXX-functional-methods-ed-ing.md#impact-on-existing-code>Impact
>  on existing code
> 
> The Swift migrator and fix-its would be provided for the change. 
> 
>  
> <https://github.com/PatrickPijnappel/swift-evolution/blob/functional-methods-ed-ing/proposals/XXXX-functional-methods-ed-ing.md#alternatives-considered>Alternatives
>  considered
> 
> Alternatively -ing suffixes could be used for map/flatMap/filter/reduce. 
> However, these are normally reserved for when -ed doesn't really work (e.g. 
> droppedFirst).
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to