Abstract
Type-level programming is becoming more and more popular in the realm of functional programming. However, the combination of type-level programming and subtyping remains largely unexplored in practical programming languages. This paper presents match types, a type-level equivalent of pattern matching. Match types integrate seamlessly into programming languages with subtyping and, despite their simplicity, offer significant additional expressiveness. We formalize the feature of match types in a calculus based on System F sub and prove its soundness. We practically evaluate our system by implementing match types in the Scala 3 reference compiler, thus making type-level programming readily available to a broad audience of programmers.
Author supplied keywords
Cite
CITATION STYLE
Blanvillain, O., Brachthäuser, J. I., Kjaer, M., & Odersky, M. (2022). Type-level programming with match types. Proceedings of the ACM on Programming Languages, 6(POPL). https://doi.org/10.1145/3498698
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.