«ScalaMeta semantics API», Eugene Burmako

A few years ago, we set out on a journey to build scala.meta – a platform-independent metaprogramming library that would finally obviate the need to learn compiler internals to program developer tools. Our take on syntactic API worked really well, becoming the foundation of several novel tools: scalafmt, scalafix and a new macro system for Scala. In this talk, we’ll present a long-awaited development in this area – semantic API – that provides ways to resolve names, infer types and more.