Hacker News new | ask | show | jobs
by hota_mazi 3269 days ago
It's a brand new language that looks like Scala but has its own syntax, which is incompatible with Scala's.
2 comments

No, Dotty is the next generation Scala compiler, the syntax is overwhelmingly compatible, with new features and some breakage.

Just like Go has "gofix", Scala will have "Scalafix", that will automate migration between Scala 2.x (scalac) and Scala 3.x (Dotty)

Migration problems can be tricky. An umbrella ticket [1] tracks Spark's migration from Scala 2.11 to 2.12

"Tricky" as in [2] "Spark 1.x's Dataset API runs into subtle source incompatibility problems for Java 8 and Scala 2.12"

[1] https://issues.apache.org/jira/browse/SPARK-14220

[2] https://issues.apache.org/jira/browse/SPARK-14643

That's no true at all. The syntax is pretty similar with few key differences. The idea is for dotty to become Scala 3.0. But, in the meantime, the next Scala 2.* versions will pave the way for 3.0. Meaning to avoid too many breaking changes in 3.0.

The above has been said repeatedly by Martin Odersky (creator of Scala) and the folks on the Scala compiler team in talks and discussions.

Martin has made no guarantee of compatibility or even to supply a Scalafix app. The fact you can do this relatively easily today is just a consequence of Dotty being very young. As it evolves and becomes more complex, there is no guarantee that a translation from Scala to Dotty will even be possible to achieve automatically.
> Martin has made no guarantee of compatibility or even to supply a Scalafix app

The entire point of scalafix[1](developed by the Scala Center) is to bridge the gap between Scala 2.x and Scala 3/Dotty. Martin talks about it in every Dotty presentation.

[1] https://github.com/scalacenter/scalafix