Conversation
| case _ => | ||
| val lhs = variable() | ||
| peek.kind match { | ||
| case `+=` | `-=` | `*=` | `/=` => |
dvdvgt
left a comment
There was a problem hiding this comment.
We decided to make some changes in the Effekt meeting. Thanks!
|
bump also, what do you think about a |
|
If you're already working on this, could you also support infixConcat for lists, arrays, etc.? |
|
I implemented the required changes. I also want to note that currently is parsed as This is of course convenient but precludes us from overloading these operators in the future. Furthermore, I also added the infix operator I refrained from overloading these new operators for any other types as this already is a pretty "bikeshed-able" PR as it is. |
|
Also, this most definitely will break the communities builds if there any overloads for the renamed infix operators. |
jiribenes
left a comment
There was a problem hiding this comment.
Although I'm not a fan of many of the extra operators chosen, the implementation itself seems reasonable and extensible in the future, so I'm fine with merging this.
This will likely break a lot of existing Effekt code, but the fix is just simple string replacement, so it's fine.
This PR adds a few more infix operators. This is mostly just lexing and parsing so doesn't come with a lot of conceptual cost for the implementation.
A few things are not clear / implemented:
infixAddtoInfixPlus, but this will break a lot of things)a === banda !== bsince the tokens===are already used to represent==, ahhh.