[swift-evolution] Remove (!) logical negation operator

Andrew Bennett cacoyi at gmail.com
Wed Dec 16 17:19:07 CST 2015


+1 Ilya, if one was to be removed I'd remove force unwrap (and implicitly
unwrapped optionals unless their type inference rules are fixed).

On Thursday, 17 December 2015, Rafael Costa via swift-evolution <
swift-evolution at swift.org> wrote:

> I think like Jeremy Pereira.
>
> I also am quite surprised that the overloading of the meaning of symbols
>> is a serious issue. It’s natural for people to distinguish the meaning of
>> things by context. C programmers don’t complain that they are always
>> confusing pointer dereferencing with multiplication do they? No.
>
>
> It is used for two meanings? Yes. Does it cause THAT much of confusion?
> No. I really think the way we're going today is just fine. Just an opinion
> though.
>
> On Wed, Dec 16, 2015 at 1:28 PM Dennis Lysenko via swift-evolution <
> swift-evolution at swift.org
> <javascript:_e(%7B%7D,'cvml','swift-evolution at swift.org');>> wrote:
>
>> Ilya, +1. I have seen maybe 3-4 force unwraps in a 20,000 lines-of-swift
>> codebase. There is no need for them in practice when you use optional
>> binding.
>>
>> On Wed, Dec 16, 2015, 9:33 AM ilya via swift-evolution <
>> swift-evolution at swift.org
>> <javascript:_e(%7B%7D,'cvml','swift-evolution at swift.org');>> wrote:
>>
>>> Well the best way to make sure there is no confusion is to discourage
>>> the usage of both operators.
>>>
>>> Every time there's an expression that contains an excessive number of !s
>>> it can be refactored by extracting separate variables, using non forced
>>> unwrapping, comparing with true and false etc.
>>>
>>> Not sure a syntactic change is warranted.
>>>
>>> On Wed, Dec 16, 2015 at 17:04 Yichen Cao via swift-evolution <
>>> swift-evolution at swift.org
>>> <javascript:_e(%7B%7D,'cvml','swift-evolution at swift.org');>> wrote:
>>>
>>>> Instead, I prefer the force unwrap to be another character other than
>>>> the negate operator. It makes no sense to have the negation operator be
>>>> universal and suddenly introduce the force unwrap with the same character.
>>>>
>>>>
>>>> Yichen
>>>>
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> swift-evolution at swift.org
>>>> <javascript:_e(%7B%7D,'cvml','swift-evolution at swift.org');>
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>>>
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org
>>> <javascript:_e(%7B%7D,'cvml','swift-evolution at swift.org');>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> <javascript:_e(%7B%7D,'cvml','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/20151217/a0bb9376/attachment.html>


More information about the swift-evolution mailing list