[swift-evolution] [Returned for revision] SE-0077: Improved operator declarations

John McCall rjmccall at apple.com
Tue Jun 28 11:32:11 CDT 2016


> On Jun 28, 2016, at 9:12 AM, L. Mihalkovic <laurent.mihalkovic at gmail.com> wrote:
> 
> Question inline
> Regards
> LM
> (From mobile)
> On Jun 28, 2016, at 1:01 AM, John McCall via swift-evolution <swift-evolution at swift.org> wrote:
> 
>>> On Jun 25, 2016, at 10:57 AM, Anton Zhilin via swift-evolution <swift-evolution at swift.org> wrote:
>>> I replaced `precedencegroup` with `precedence` and added `Precedence` 
>>> suffix to all precedence group names. See:
>>> 
>>> https://github.com/Anton3/swift-evolution/blob/fix-operator-
>>> precedence/proposals/0077-operator-precedence.md
>>> 
>>> My feelings:
>>> 1. `precedencegroup` describes what it declares more precisely
>>> 2. `precedence` is shorter (partially compensating for longer names)
>>> 3. `precedence` can be correctly interpreted as "precedence level"
>>> 4. `precedence` looks nicer overall
>> 
>> Keep in mind that this is a pretty marginal feature.  I'm not sure "precedence" is a reasonable enough thing to take as a keyword for it.
>> 
>> John.
> 
> Would a meta-circular definition be possible (proposed a version using enums)? I remember a mail from chris about moving certain things currently backed into the compiler towards the stdlib, is this one a possible candidate... 

This is already strongly library-determined.  The library defines what operators exist and defines their precedence w.r.t. each other and a small number of built-in operators.  Operator precedence has to be communicated to the compiler somehow in order to parse code.  This proposal is just deciding the syntax of that communication.

I see no reason to use a more conceptually complex approach when a simple declaration will do.

John.


More information about the swift-evolution mailing list