[swift-evolution] Add an ifPresent function to Optional

Erica Sadun erica at ericasadun.com
Mon Mar 14 22:14:14 CDT 2016


I suddenly have a great desire to do a pull-request on https://github.com/apple/swift-evolution/blob/master/commonly_proposed.md

-- E, who has admittedly taken on too much today 

> On Mar 14, 2016, at 9:12 PM, Jordan Rose via swift-evolution <swift-evolution at swift.org> wrote:
> 
> We've talked about this before, so I'm going to link directly to my (negative) response from back then: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151214/003697.html <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151214/003697.html>.
> 
> (The rest of the thread is certainly also relevant, but my past opinion is still the one I most identify with here!)
> 
> Jordan
> 
>> On Mar 11, 2016, at 12:15 , Dave via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>> +1.
>> 
>> I’d go so far as to suggest that maybe Optional should conform to CollectionProtocol, since you can pretty easily think of an Optional as a collection that can’t have more than one element.
>> 
>> - Dave Sweeris
>> 
>>> On Mar 10, 2016, at 7:32 PM, Erica Sadun via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>> While I'm not convinced of the utility or lack thereof, wouldn't it make more sense 
>>> to extend `forEach` to support optionals in a similar way that map and flapMap 
>>> currently do rather than introduce `ifPresent`?
>>> 
>>> let y: Int? = 1
>>> let n: Int? = nil
>>> 
>>> _ = y.map({ print($0) }) // works in current Swift
>>> _ = n.map({ print($0) }) // ditto
>>> 
>>> y.forEach{ print($0) } // not currently a thing
>>> n.forEach{ print($0) } // ditto
>>> 
>>> Just spitballing here.
>>> 
>>> -- E
>>> 
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> _______________________________________________
> 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/20160314/1482c2b5/attachment.html>


More information about the swift-evolution mailing list