Scala implicits are everywhere: a large-scale study of the use of Scala implicits in the wild
-
Published:2019-10-10
Issue:OOPSLA
Volume:3
Page:1-28
-
ISSN:2475-1421
-
Container-title:Proceedings of the ACM on Programming Languages
-
language:en
-
Short-container-title:Proc. ACM Program. Lang.
Author:
Křikava Filip1,
Miller Heather2,
Vitek Jan3
Affiliation:
1. Czech Technical University, Czechia
2. Carnegie Mellon University, USA
3. Czech Technical University, Czechia / Northeastern University, USA
Abstract
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.
Funder
H2020 European Research Council
National Science Foundation
Office of Naval Research
Ministerstvo ðkolství, Mládeðe a Tðlovðchovy
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference29 articles.
1. Eugene Burmako. 2017. Unification of Compile-Time and Runtime Metaprogramming in Scala. (2017). Eugene Burmako. 2017. Unification of Compile-Time and Runtime Metaprogramming in Scala. (2017).
2. Jorge Vicente Cantero. 2018. Speeding Up Compilation Time with scalac-profiling. https://bit.ly/32gwTwP Jorge Vicente Cantero. 2018. Speeding Up Compilation Time with scalac-profiling. https://bit.ly/32gwTwP
3. Li Haoyi. 2016. Implicit Design Patterns in Scala. https://web.archive.org/web/20180326160306/http://www.lihaoyi.com/ post/ImplicitDesignPatternsinScala.html . Li Haoyi. 2016. Implicit Design Patterns in Scala. https://web.archive.org/web/20180326160306/http://www.lihaoyi.com/ post/ImplicitDesignPatternsinScala.html .
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献