Major changes proposed for Extension Methods

Mark "Justin" Waks
1 min readJun 28, 2020

--

Latest on the Dotty front: Martin has begun a draft PR to significantly rewrite the way Extension Methods work.

This is far from complete at this point; the most interesting bit is the rewrite of the documentation, which gives you a sense of the new design. I recommend reading through that. (The examples are all written using the new significant-spacing design, which I still find hard to read, but they make more sense when I mentally translate them to include the missing braces.)

My personal reaction is slightly mixed: the proposal removes the infix syntax for defining extension methods, which I thought was deliciously cool and intuitive. That said, though, the new proposal is rather less new-and-different than that was, so I suspect it will be easier to teach, and in general it’s pretty consistent, which is a plus. There is also some detail on how extension methods interact with implicit scope, which is worth keeping in mind.

Usual caveats apply: this is extremely early, not even a full PR yet. But it’s a pretty major change in the proposed design, so if you are trying to stay current with what Scala 3 may look like, it’s worth a look.

--

--

Mark "Justin" Waks
Mark "Justin" Waks

Written by Mark "Justin" Waks

Lifelong programmer and software architect, specializing in online social tools and (nowadays) Scala. Architect of Querki (“leading the small data revolution”).

No responses yet