BIO: Jason Zaugg once tinkered with the Scala compiler, got hooked, and now works full time on the Scala language at Typesafe.
As a programmer, tinkering with the implementation of the very language you work with (and think in) a uniquely satisfying endeavour. Scala offers lots of avenues to try this: you can author compiler plugins to perform static analysis, use macros to generate boilerplate, or modify the compiler to fix bugs or implement your own pet feature. More generally, thinking about the meta-aspects of the language invariably lead to a fresh perspective and deeper understanding that benefit your regular coding, too.
But all of these tasks can at times seem daunting, infuriating, or out of reach. This talk will issue you with the map, compass, flashlight, and roll of duct tape that you need to embark on this journey. It is drawn from the tools and techniques that I use on a daily basis when I'm working on the compiler.
Bring a Scala 2.11.6 REPL along if you want to code along, or skim the Reflection and Macro guides if you want to get a head start on some of the concepts we'll touch upon, or check out or Hacker's and Contributing guide to plan your first pull request.