Got a few questions on Scala implicits?
Everything you ever wanted to know about Scala implicits, but weren't sure how to ask
Since Scala 2.0 the language contains implicit definitions. On the one hand, they provide a convenient way to implement certain language features outside of the compiler and reduce code boilerplate. On the other hand, they have been a constant source of surprise and confusion especially among the less experienced Scala developer. So, as developers, should we worry about implicits? Are they really used a lot? How are the implicits actually used? Is it that they are used just in a few "big" libraries, or are they everywhere?
In this talk I will show how to answer these and other questions by asking them directly to the large corpus of Scala code that is publicly available on Github. Thanks to Scalameta and Semanticdb the answers are available almost at our fingertips. Together with the audience, we will dive into millions lines of Scala code, classify the call sites and declarations involving implicits to see what kind of implicits and patterns are being used to answer the above questions.