Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Journal articles
  4. Type-Level Programming with Match Types
 
research article

Type-Level Programming with Match Types

Blanvillain, Olivier  
•
Brachthaeuser, Jonathan Immanuel
•
Kjaer, Maxime
Show more
January 1, 2022
Proceedings Of The Acm On Programming Languages-Pacmpl

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-<: 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.

  • Details
  • Metrics
Type
research article
DOI
10.1145/3498698
Web of Science ID

WOS:000777820900038

Author(s)
Blanvillain, Olivier  
Brachthaeuser, Jonathan Immanuel
Kjaer, Maxime
Odersky, Martin  
Date Issued

2022-01-01

Publisher

ASSOC COMPUTING MACHINERY

Published in
Proceedings Of The Acm On Programming Languages-Pacmpl
Volume

6

Start page

37

Subjects

Computer Science, Software Engineering

•

Computer Science

•

match types

•

scala

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAMP1  
Available on Infoscience
April 25, 2022
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/187275
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés