Journal article Open Access
The Scala programming language offers two distinctive language features implicit parameters and implicit
conversions, often referred together as implicits. Announced without fanfare in 2004, implicits have quickly
grown to become a widely and pervasively used feature of the language. They provide a way to reduce the
boilerplate code in Scala programs. They are also used to implement certain language features without having
to modify the compiler. We report on a large-scale study of the use of implicits in the wild. For this, we
analyzed 7,280 Scala projects hosted on GitHub, spanning over 8.1M call sites involving implicits and 370.7K
implicit declarations across 18.7M lines of Scala code.