arXiv · 2311.11105
State of structural typing support in Scala 3.3.0
Abstract
Scala's type system is primarily based on nominal typing. Scala 3 introduces a special type, Selectable, which provides an infrastructure for structural typing. Karlsson and Haller proposed improvements to Selectable to support extensible records. In this paper, we review several Scala 3 projects that involve structural typing. We find that their implementation or usability would benefit from the extensible records proposal from Karlsson and Haller. We investigate the remaining common challenges when working with structural types. In particular, we identify that a dedicated syntax for both record types and record literals would be the most beneficial addition to the language.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Julien Richard-Foy. 2023-11-18. State of structural typing support in Scala 3.3.0. https://arxiv.org/abs/2311.11105
Cite the original work for its findings. Save a collection to share your selection of sources.