[swift-evolution] [Accepted and Focused Re-review] SE-0187: Introduce Sequence.filterMap(_:)
David Waite
david at alkaline-solutions.com
Thu Nov 16 12:07:45 CST 2017
> On Nov 15, 2017, at 7:16 PM, Greg Parker via swift-evolution <swift-evolution at swift.org> wrote:
>
>>
>> On Nov 15, 2017, at 5:53 PM, John McCall <rjmccall at apple.com <mailto:rjmccall at apple.com>> wrote:
>>
>>> On Nov 15, 2017, at 7:36 PM, Greg Parker via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
<snip>
>>>
>>> "compactMap" is okay if "compact" is added. Is "compact" a common enough operation in practice to pull its own weight?
It might be a good criteria, given placeholder ‘xxx’ which is a verb, to think of whether for xxxMap or xxxedMap, if xxx/xxxed would be acceptable and descriptive terms. We didn’t have flattened() for flatMap, so I think whether xxxed() is present or not is a separate question.
Optional is an adjective, so there may be an ‘xxx’ in the function xxxMap which is also an adjective. Not sure how that plays into the naming conventions.
>>> "mapSome" is great if you know about Optional.Some but terrible if you don't. ("Okay, it maps some elements, but which ones?")
>>>
>>> "mapNonNil" is obvious and ugly and perhaps its obviousness makes it a winner.
>>
>> mapSome and especially mapNonNil both sound to me like they only map the non-nil values in the source sequence.
>
> I thought it did map the non-nil values in the source sequence. Did I misunderstand what the proposed filterMap does? It occurs to me that the proposal does not have a standalone description of the filterMap operation.
It maps all values to optional results, discarding any results which are nil and returning just a collection of the unwrapped results - right?
Speaking of which, I don’t feel Sequence.unwrapped() passes muster per my stated criteria above.
-DW
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171116/aabd0f20/attachment.html>
More information about the swift-evolution
mailing list