Extending Scala with Records: Design, Implementation, and Evaluation
This paper presents a design for extensible records in Scala satisfying design goals such as structural subtyping, type-safe polymorphic operations, and separate compilation without run-time 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 reflection-based approaches for structural field access, and excels at immutable extension and update operations.
Fri 28 SepDisplayed time zone: Guadalajara, Mexico City, Monterrey change
10:20 - 11:50
|Extending Scala with Records: Design, Implementation, and Evaluation|
|Initialization Patterns in Dotty|
|Path Dependent Types with Path-Equality|
|κDOT: Scaling DOT with Mutation and Constructors|