[swift-evolution] Remove (!) logical negation operator
gojan.wan at gmail.com
Tue Dec 15 10:56:05 CST 2015
I also hit the *!=* vs *<>* dilema and conclude that we could continue
using the *!=* as "not equal".
It's true that it will not be as consistent as before but I think it's a
reasonable price to pay taking into account the issues with *!* as 'not'.
> Not that I necessarily think this proposal is a good idea. The given
> examples reek of being against unwrapping for some reason.
> Why not use `if let aBool = aBool where !aBool`? And `if let someValue =
> someValue where !(otherBoolValue && someValue > 0)`?
I think the issue is the complete different meanings of a symbol depending
only in where it appears in an expression. Adding that *!* character is
really easy to miss in an expression make it at last uncomfortable.
I agree that we are all really used to find *!* in logical expressions and
our brain is trained to translate it to NOT automatically but that doesn't
mean that it's good idea to keep it there.
For example in `if let aBool = aBool where !aBool`, let's suppose that we
know that `aBool` optional it's not empty before this check. How would you
write it? `!aBool!` or with the `if let...` ?
I think that clearly *!* is not good choice for negation but my mind is so
used to it that I can't totally affirm that *not* is *the* alternative to
it. Do we have another alternatives?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution