TASTy Reader
Today I learned about a useful bit of tooling in progress, that anyone thinking about migrating from Scala 2 to Scala 3 will probably care about: the TASTy Reader for Scala 2.
(NB: not an expert here, so take all of the below with a grain of salt.)
One of the more important changes coming in Dotty is TASTy — basically a new intermediate format that Scala 3 will compile to, which is a bit more conceptual and less syntactic, and which is intended to be relatively stable.
TASTy is one of the reasons for hope that the Scala 2 -> 3 migration won’t be too painful, and the TASTy Reader is why. Scala 3 can consume Scala 2 libraries; this project will allow Scala 2 to consume Scala 3 ones. (At least, Scala 3 that isn’t doing anything too new and radical.)
So at least in theory, this will allow a gradual migration path: you will be able to evolve towards Scala 3 piecemeal, with Scala 2 and Scala 3 components inter-operating, without needing a “big bang” switch of entire stacks all at once. For those of us at larger Scala shops, this is likely to be a huge win.
Keep in mind, this is still very much a work in progress, not a polished tool. But it’s well worth keeping an eye on.