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

John McCall rjmccall at apple.com
Thu Jun 30 13:48:15 CDT 2016


> On Jun 30, 2016, at 11:25 AM, Matthew Johnson <matthew at anandabits.com> wrote:
> On Jun 30, 2016, at 1:08 PM, John McCall via swift-evolution <swift-evolution at swift.org> wrote:
> 
>>> On Jun 30, 2016, at 2:34 AM, Anton Zhilin via swift-evolution <swift-evolution at swift.org> wrote:
>>> 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*.
>> 
>> The preposition does add clarity.  Are the listed precedences the ones that are
>> higher than the current precedence, or are they the ones that the current
>> precedence is higher than?
> 
> I agree with that for higher and lower, but I think above and below are pretty clear (in the example just below it seems very clear (to me at least) that Multiplicative is above additive and below Exponentiative).  
> 
> I think above and below are aesthetically the best here, but as has been noted this will be a rarely used feature so I won't feel bad if something else is selected,

I would be fine with "above" and "below".

John.

> 
> 
>> 
>> John.
>> 
>>> 
>>> 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.
>>> 
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 



More information about the swift-evolution mailing list