[swift-evolution] Brainstorming: Optional sugar inferred map

Howard Lovatt howard.lovatt at gmail.com
Thu Jan 28 00:20:39 CST 2016


Assuming Paul is correct then you require Optional to be a sequence type
and you would use flatMap. I believe there has been such discussions in the
past but they don't seem to have gone anywhere. Java and Scala both do what
you want with their sequence types, maybe Swift will follow :).

On 28 January 2016 at 16:30, Craig Cruden via swift-evolution <
swift-evolution at swift.org> wrote:

> Yes
>
> On 2016-01-28, at 12:28:40, Paul Ossenbruggen <possen at gmail.com> wrote:
>
> Trying to see if I got this. So the type of r would be Int? at the end of
> this? And if n were nil then r would be nil? Otherwise it r is 10?
>
>
>
> On Jan 27, 2016, at 9:19 PM, Craig Cruden via swift-evolution <
> swift-evolution at swift.org> wrote:
>
> Swift currently encourages a lot of conditional code - especially when it
> comes to optionals.  In most cases when you are computing etc. on an
> Optional you would expect that you would want an optional result and things
> to be able to use optionals.
>
> In another language I generally just `map` one optional to another - which
> may not be the most readable code to some not use to optionals.
>
> I was wondering if maybe an expression is not available that it would
> rewrite the syntax to map from one to another value.
>
> So things like:
>
> let n : Int? = 5
>
> let r = n + 5
>
> would actually compile as
>
> let r = n.map {$0 + 5}
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> 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
>
>


-- 
  -- Howard.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160128/d31c3dd8/attachment.html>


More information about the swift-evolution mailing list