[swift-evolution] [Review] SE-0077 v2: Improved operator declarations

Anton Zhilin antonyzhilin at gmail.com
Thu Jun 30 04:34:29 CDT 2016


https://github.com/apple/swift-evolution/blob/master/proposals
/0077-operator-precedence.md

Idea #1

There is a high chance that 'higherThan'/'lowerThan' names will be 
chosen. I still see a problem with that. Keywords in Swift are written 
in full lowercase, so we should actually take 'higherthan'/'lowerthan'.

But then what's the point of the preposition? It blends with 
higher/lower and doesn't actually add any clarity. So we should drop 
'than' and have just higher/lower or above/below or succeeds/preceeds or 
whatever we choose, but *in a single word*.

Idea #2

I personally don't like the direction in which the proposal moved (I 
understand the reasons). Before the first review, consensus seemed to be 
on this:

precedence Multiplicative {
    above Additive
    below Exponentiative
}

And now:

precedencegroup MultiplicativePrecedence {
    higherThan: AdditivePrecedence
    lowerThan: ExponentiativePrecedence
}

Don't you have a feeling that something cute and 'swift' was turned into 
a monster?

At least, if we change keywords, we will get this:

precedence MultiplicativePrecedence {
    above: AdditivePrecedence
    below: ExponentiativePrecedence
}

I also like in above/below that they are written with the same number of 
letters, meaning that they will line up nicely.



More information about the swift-evolution mailing list