Extending Scala with records: design, implementation, and evaluation

Extending Scala with records: design, implementation, and evaluation
复制标题

DOI:
10.1145/3241653.3241661
复制
发表时间:
2018-09
期刊:
Proceedings of the 9th ACM SIGPLAN International Symposium on Scala
影响因子:
--
通讯作者:
Olof Karlsson;Philipp Haller
Olof Karlsson;Philipp Haller
中科院分区:
其他
文献类型:
--
作者:
Olof Karlsson;Philipp Haller

文献摘要

被引文献

相似文献

本文提出了一种Scala中可扩展记录的设计,以满足诸如结构子类型、类型安全的多态操作和无需运行时字节码生成的单独编译等设计目标。使用Scala 3的新特性,该设计只需要对Scala 3引用编译器Dotty进行最小的本地更改,以及一个小的库组件。使用一种新的基准测试套件生成器对运行时性能进行了实验评估,结果表明,该设计在结构化字段访问方面与Scala2的S缓存反射竞争,并且在不变的扩展和更新操作方面具有优势。
This paper presents a design for extensible records in Scala satisfying design goals such as structural subtyping, typesafe polymorphic operations, and separate compilation without runtime bytecode generation. Using new features of Scala 3, the design requires only minimal, local changes to the Scala 3 reference compiler Dotty as well as a small library component. Runtime performance is evaluated experimentally using a novel benchmarking suite generator, showing that the design is competitive with Scala 2's cached reflection for structural field access, and excels at immutable extension and update operations.