This is why I really like compact/compactMap.

> On Nov 20, 2017, at 3:31 PM, John McCall via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
>> On Nov 20, 2017, at 12:22 PM, BJ Homer <bjho...@gmail.com 
>> <mailto:bjho...@gmail.com>> wrote:
>>> On Nov 20, 2017, at 10:09 AM, Drew Crawford via swift-evolution 
>>> <swift-evolution@swift.org <mailto:swift-evolution@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@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