[swift-evolution] [swift-evolution-announce] [Accepted and Focused Re-review] SE-0187: Introduce Sequence.filterMap(_:)

Jon Shier jon at jonshier.com
Mon Nov 20 14:31:50 CST 2017


This is why I really like compact/compactMap.

> On Nov 20, 2017, at 3:31 PM, John McCall via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> On Nov 20, 2017, at 12:22 PM, BJ Homer <bjhomer at gmail.com <mailto:bjhomer at gmail.com>> wrote:
>>> On Nov 20, 2017, at 10:09 AM, Drew Crawford via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>> The typical case for this function in my code is the identity closure, that is
>>> 
>>>     let a: [Int?] = ...
>>>     print(a.filterMap {$0})
>>> 
>>> filterMap is quite poor for this situation because *each* component in the term is inaccurate:
>> 
>> filterMap is indeed an awkward name for this use case, just like flatMap is. In my experience, about half of my use cases use the identity closure, and half actually make use of the closure in a meaningful way. I would support a proposal to add something like Sequence.dropNils (actual name to be determined), and then we could let this proposal target the non-identity-closure use case.
> 
> If the identity closure (i.e. "please remove the nils from this sequence") is a common use case, then I absolutely agree that we should consider adding a specific operation for that, and that name might illuminate the right name for the mapping version.
> 
> John.
> 
> _______________________________________________
> 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/20171120/86c62618/attachment.html>


More information about the swift-evolution mailing list