Affiliation:
1. EPFL, Switzerland
2. University of Tübingen, Germany
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Orthologic with Axioms;Proceedings of the ACM on Programming Languages;2024-01-05
2. Pipelines and Beyond: Graph Types for ADTs with Futures;Proceedings of the ACM on Programming Languages;2024-01-05
3. P4R-Type: A Verified API for P4 Control Plane Programs;Proceedings of the ACM on Programming Languages;2023-10-16
4. Type-safe regular expressions;Proceedings of the Scala Symposium;2022-06-06
5. ST4MP: A Blueprint of Multiparty Session Typing for Multilingual Programming;Leveraging Applications of Formal Methods, Verification and Validation. Verification Principles;2022