[swift-evolution] Should we incorporate bunches of new operators / micro-syntactic sugar?
Stephen Celis
stephen.celis at gmail.com
Thu Dec 21 13:00:30 CST 2017
Ah, sorry, I misread! For readability I think I'd still favor something like:
if let b = b {
dict[a] = b
}
And I think some the arguments made in #0024 may still apply here, though feel free to discuss!
Stephen
> On Dec 21, 2017, at 1:37 PM, Benoit Pereira da silva <bpds at me.com> wrote:
>
> Stephen,
>
> You are right the proposal #0024 is very close.
> But in fact the logic is inverted.
>
> When using «=? » the right item is optional.
> a =? b assigns « b » to « a » only if « b » is defined.
> So if an optional is defined =? will not erase its value.
>
> But my real questions was…
> Do you have such operators that you really use very often?
> Should we incorporate bunches of new operators / micro-syntactic sugar?
> Is swift evolution the good place to discuss such question?
>
> I don’t want to pollute your mail boxes.
>
> Best regards,
>
> B
>
>> Le 21 déc. 2017 à 19:12, Stephen Celis <stephen.celis at gmail.com <mailto:stephen.celis at gmail.com>> a écrit :
>>
>> Such an operator was proposed here: https://github.com/apple/swift-evolution/blob/60a8980a66a0a1341871ec323797c5547d0e0925/proposals/0024-optional-value-setter.md <https://github.com/apple/swift-evolution/blob/60a8980a66a0a1341871ec323797c5547d0e0925/proposals/0024-optional-value-setter.md>
>>
>> It was ultimately rejected: https://lists.swift.org/pipermail/swift-evolution-announce/2016-February/000043.html <https://lists.swift.org/pipermail/swift-evolution-announce/2016-February/000043.html>
>>
>> Stephen
>>
>>> On Dec 21, 2017, at 11:44 AM, Benoit Pereira da silva via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>
>>> Dear all,
>>>
>>> That’s not ambitious but i think worth be explored.
>>>
>>> What do you think for example of this Infix operator?
>>> « =? » allows to express optional assignments in a very concise way.
>>>
>>>
>>> // The `=? operator allows simplify optional assignements :
>>> // `a = b ?? a` can be written : `a =? b`
>>> infix operator =?: AssignmentPrecedence
>>>
>>> public func =?<T> ( left:inout T?, right: T? ){
>>> left = right ?? left
>>> }
>>>
>>> public func =?<T> ( left:inout T, right: T? ){
>>> left = right ?? left
>>> }
>>>
>>>
>>> Do you have such operators that you really use very often?
>>>
>
> Benoit Pereira da Silva
> Ultra Mobile Developer & Movement Activist
> Développeur Ultra Mobile & Militant du mouvement
> https://pereira-da-silva.com <https://pereira-da-silva.com/>
>
> <bannerp.jpg>
>
>
>
> ✄ --------------------------------
> This e-mail is confidential. Distribution, copy, publication or use of this information for any purpose is prohibited without agreement of the sender.
> Ce message est confidentiel. Toute distribution, copie, publication ou usage des informations contenues dans ce message sont interdits sans agrément préalable de l'expéditeur.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171221/abe29280/attachment.html>
More information about the swift-evolution
mailing list