The couple of topics on “extension methods” show that the syntax underwent churn for a couple of years.
However, the reference doc comment on “The Swap” predates that. I assume without further evidence that this was always part of the scheme.
This comment about extension method as sugar for application links to
The Proposal which mentions right-associative operators a few times, in the OP about C# style and in the replies, such as szeiger the rassoc guy for Scala 2.
The Proposal OP also links to the PR and its comment history.
I think the spec need only specify that “extension methods” are an extension to method application syntax. It has nothing to do with “extending a type”.
The only justification required is the example of i max j
vs math.max(i, j)
. Don’t give me machinery (value classes) when I just want to call a method. Give me a way to call the method, that also looks cool.
(Edit: it’s necessary to click “more” on forum search, to see all the topics.)