At his keynote for Scala Days Chicago, Martin said, "If there's one feature that makes Scala 'Scala', I would pick implicits". This feature — an umbrella term that includes implicit conversions, parameters, classes, and (soon) functions — tends to be a source of confusion for new (and some not new!) Scala developers. Some "best practice" guides even recommend that teams new to Scala avoid implicitness altogether, but to do so means ignoring one of the biggest features of the language.
This talk aims to demystify implicits so that you can understand what your libraries are doing with them, as well as use them in your own projects without your coworkers cursing your name. We'll explain the different types of implicits and how they interrelate, how the Scala compiler decides which implicit to use when and where, discuss some best practices and patterns for how to use them safely and sanely, and provide a small preview of (what we know) about the next big feature in this space: implicit functions!
Thanks to our host, Pandera Labs! They had offered to host previously, and we're happy to take them up on their offer!