Journal article Open Access

Scala Implicits Are Everywhere: A Large-Scale Study of the Use of Scala Implicits in the Wild

Krikava, Filip; Miller, Heather; Vitek, Jan

MARC21 XML Export

<?xml version='1.0' encoding='UTF-8'?>
<record xmlns="">
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">Implicit parameters, implicit conversions, corpora analysis, Scala</subfield>
  <controlfield tag="005">20200120170212.0</controlfield>
  <controlfield tag="001">3407292</controlfield>
  <datafield tag="711" ind1=" " ind2=" ">
    <subfield code="d">20-25 October 2019</subfield>
    <subfield code="g">OOPSLA</subfield>
    <subfield code="a">Object-Oriented Programming, Systems, Languages &amp; Applications</subfield>
    <subfield code="c">Athens</subfield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Carnegie Mellon University</subfield>
    <subfield code="a">Miller, Heather</subfield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Northeastern University, Czech Technical University</subfield>
    <subfield code="a">Vitek, Jan</subfield>
  <datafield tag="856" ind1="4" ind2=" ">
    <subfield code="s">2886147</subfield>
    <subfield code="z">md5:72da7eae9b9fc204bbe5f80534ce2913</subfield>
    <subfield code="u"></subfield>
  <datafield tag="542" ind1=" " ind2=" ">
    <subfield code="l">open</subfield>
  <datafield tag="856" ind1="4" ind2=" ">
    <subfield code="y">Conference website</subfield>
    <subfield code="u"></subfield>
  <datafield tag="260" ind1=" " ind2=" ">
    <subfield code="c">2019-09-13</subfield>
  <datafield tag="909" ind1="C" ind2="O">
    <subfield code="p">openaire</subfield>
    <subfield code="o"></subfield>
  <datafield tag="909" ind1="C" ind2="4">
    <subfield code="v">3</subfield>
    <subfield code="p">Proc. ACM Program. Lang.</subfield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="u">Czech Technical University</subfield>
    <subfield code="0">(orcid)0000-0002-0478-6202</subfield>
    <subfield code="a">Krikava, Filip</subfield>
  <datafield tag="245" ind1=" " ind2=" ">
    <subfield code="a">Scala Implicits Are Everywhere: A Large-Scale Study of the Use of Scala Implicits in the Wild</subfield>
  <datafield tag="536" ind1=" " ind2=" ">
    <subfield code="c">695412</subfield>
    <subfield code="a">Evolving Language Ecosystems</subfield>
  <datafield tag="540" ind1=" " ind2=" ">
    <subfield code="u"></subfield>
    <subfield code="a">Creative Commons Attribution 4.0 International</subfield>
  <datafield tag="650" ind1="1" ind2="7">
    <subfield code="a">cc-by</subfield>
    <subfield code="2"></subfield>
  <datafield tag="520" ind1=" " ind2=" ">
    <subfield code="a">&lt;p&gt;The Scala programming language offers two distinctive language features implicit parameters and implicit&lt;br&gt;
conversions, often referred together as implicits. Announced without fanfare in 2004, implicits have quickly&lt;br&gt;
grown to become a widely and pervasively used feature of the language. They provide a way to reduce the&lt;br&gt;
boilerplate code in Scala programs. They are also used to implement certain language features without having&lt;br&gt;
to modify the compiler. We report on a large-scale study of the use of implicits in the wild. For this, we&lt;br&gt;
analyzed 7,280 Scala projects hosted on GitHub, spanning over 8.1M call sites involving implicits and 370.7K&lt;br&gt;
implicit declarations across 18.7M lines of Scala code.&lt;/p&gt;</subfield>
  <datafield tag="773" ind1=" " ind2=" ">
    <subfield code="n">arxiv</subfield>
    <subfield code="i">isIdenticalTo</subfield>
    <subfield code="a">arXiv:1908.07883</subfield>
  <datafield tag="024" ind1=" " ind2=" ">
    <subfield code="a">10.1145/3360589</subfield>
    <subfield code="2">doi</subfield>
  <datafield tag="980" ind1=" " ind2=" ">
    <subfield code="a">publication</subfield>
    <subfield code="b">article</subfield>
Views 81
Downloads 83
Data volume 239.6 MB
Unique views 72
Unique downloads 77


Cite as