[swift-evolution] [Proposal] Custom operators

Антон Жилин antonyzhilin at gmail.com
Tue Apr 12 06:42:26 CDT 2016


No new suggestions have come in 2 days, and so I have created a pull
request! Here it is:
https://github.com/apple/swift-evolution/pull/253

If new glitches are suddenly discovered, Core team will still have the
ability to correct them.
So far we have mostly come to consensus.

- Anton

2016-04-10 13:18 GMT+03:00 Maximilian Hünenberger <m.huenenberger at me.com>:

>
> Am 10.04.2016 um 11:48 schrieb Антон Жилин <antonyzhilin at gmail.com>:
>
>
> 2016-04-10 2:27 GMT+03:00 Maximilian Hünenberger <m.huenenberger at me.com>:
>
>
> [...]
>
>
> The only minor syntax issue I have is that it is not immediately clear
>> which operators belong to a precedence group. The former syntax with the
>> "members(+, -)" solved this issue. However this has (currently) an
>> extensibility problem:
>>
> If you define a new operator and it should belong to a precedencegroup
>> where you have no access to its source (like Additive) then the whole
>> argument about having operators in one place.
>>
>
> My thoughts went as follows.
> We should be able to add operators to existing groups, for example,
> defined in the Standard Library.
> If so, then this this statement should belong to operator, not precedence
> group.
> But we have to declare the operator anyway, so adding `: Additive` or
> something to the declaration does not cause huge code bloat. Especially
> considering operators are not defined very often.
> Now, we have two ways to do the same thing. External declaration is
> necessary and not so bad. So, following a widely known principle, I remove
> `members`.
>
>
> [...]
>
>
> My issue can be solved by the IDE: It could display all operators which
> are contained in a precedencegroup with quick look or the new interface
> view in Xcode. However this excludes other IDEs which don't have such
> features.
>
> But as I said it is only a minor issue.
>
> Best regards
> - Maximilian
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160412/bce992b6/attachment.html>


More information about the swift-evolution mailing list