Extensive discussion of Scala 3 implicits
If you aren’t generally following Scala Contributors, and are interested in the direction of the language, I commend to you this debate that has been happening there for the past week.
Most of what is coming in Dotty is simply enhancements: straight-up ways to make the language better. The biggest changes that have been proposed mostly center on implicits, and their manifold use cases.
About a week ago, Martin posted an explanation of the proposed changes to implicit parameters (the link above), and that has touched off one of the most extensive debates I’ve seen in the language. Folks are arguing in considerable depth about the proposed changes, both about the concepts they express and the keywords chosen for them.
Earlier today, Martin broke out this post about the proposed principles behind the Scala 3 implicits design, which you might want to read first: it explains the basis of his thinking here. There is a little discussion there as well, on whether these are the right principles for us to be following.
The first thread, though, is where the bulk of the debate is happening. It’s quite long, and has occasionally gotten slightly heated. But if you’re interested in where things are going, I strongly recommend checking it out: it may well be the most important single discussion about Scala 3, and it’s worth being aware of it.