[swift-evolution] [Returned for revision] SE-0077: Improved operator declarations
Anton Zhilin
antonyzhilin at gmail.com
Thu Jun 23 08:18:19 CDT 2016
1. I've revised the proposal to mostly meet the recommendations.
https://github.com/Anton3/swift-evolution/blob/master/proposals/0077-
operator-precedence.md
2. My reaction to the rationale:
precedencegroup Foo {
associativity: left
strongerThan: Bar
weakerThan: Bas
}
I agree with colons, but I would prefer above and below. Anyway, core
team will have at least one more chance to change their mind.
- The proposal states that precedence groups live in a separate
namespace from other declarations; however, this is unprecedented in
Swift, and leads to significant implementation challenges. The core team
recommends that precedence groups exist in the same namespace as all
Swift declarations.
How unfortunate. We will need to discuss naming convention and try not
to add too much visual clutter.
3. I also have a suggestion to discuss.
Under "Joining unrelated precedence groups" I see an algorithm that does
not match anything I've seen in network theory.
My suggestion is to make it a warning, not an error. It will reduce the
pressure on the language and compilers.
When we break down precedence hierarchy in a follow-up proposal,
developers will be able to use a library that will join precedence
groups and make their old code compile, although with warnings.
- Anton
More information about the swift-evolution
mailing list