As of today, this is possible:

prefix operator ¬
prefix func ¬ (value: Bool) -> Bool {
    return !value
}

let t = true
let f = ¬t

I have to admit that I quite like this but it has a couple drawbacks:
1: if you've never seen the ¬ operator in math it makes no more sense than "!"
2: It's quite tricky to find on your keyboard depending on your layout
3: maybe ~ is a better fit?

Seems like a lot of work for a very small improvement. But I'm all for it.

André


> On 15 Feb 2017, at 22:28, Derrick Ho via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> There is no need to change it
> 
> Since the context basically disambiguates the meaning of !
> 
> The next best thing is to compare it to false
> 
> (val == false) // same as !val
> On Wed, Feb 15, 2017 at 3:02 PM David Waite via swift-evolution 
> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
> If someone came with a nice syntax I’d be for this. I can’t imagine what that 
> would be.
> 
> I doubt there is an alternate prefix or postfix operator that would pass 
> muster, due to ‘!’ already meaning the appropriate thing in so many 
> languages, and swift only supporting symbolic operators.
> 
> I can’t think of a method on boolean which would read properly either, e.g.
> 
>       if isValid.not() {…}
> 
> The closest I could think to a decent bike shed color would be a global 
> function:
> 
>       if not(isValid) {…}
> 
> -DW
> 
>> On Feb 15, 2017, at 11:10 AM, Robert Widmann via swift-evolution 
>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>> 
>> So you've identified the problem, but what do you propose as a solution 
>> here?  
>> 
>> It should be noted that a (non-stdlib) language-level answer to this 
>> question has already been discussed and rejected 
>> (https://lists.swift.org/pipermail/swift-evolution/2015-December/000032.html 
>> <https://lists.swift.org/pipermail/swift-evolution/2015-December/000032.html>).
>> 
>> ~Robert Widmann
>> 
>> 2017/02/15 9:02、Sadiq via swift-evolution <swift-evolution@swift.org 
>> <mailto:swift-evolution@swift.org>> のメッセージ:
>> 
>>> Hello,
>>> 
>>> I would like to suggest to change Logical NOT Operator from ! to something 
>>> else. 
>>> It will increase the readability of the code and will avoid any confusion 
>>> with the symbol used for force unwrapping of optional values. 
>>> It would be easier for new programmers to learn Swift as the first 
>>> language. 
>>> I don't understand the rational behind using the same operator for two 
>>> different purposes. 
>>> 
>>> Thanks and Regards,
>>> Mohammad Sadiq
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution 
>> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to