Implementation of extensions doesn't match expectation or documentation

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.)

1 Like