Compiling Scala to JVM bytecode is not trivial and has surprising consequences for binary compatibility (see the talk "Designing libraries for source and binary compatibility"). Compiling all your Scala dependencies from sources sidesteps this but has other disadvantages: it's slow, and because type inference in Scala changes, source compatibility is not guaranteed.
TASTY is a format developed as part of Dotty as a middle-ground by storing the compiler ASTs after type inference. It turns out that this has many uses, come to this talk to find out how it works and what we can do with it!
Some experience developing Scala libraries is helpful to understand the problem domain, but no specific compiler knowledge is presumed.
PhD student at EPFL working on Dotty, the new Scala compiler.