A Generic Algorithm for Checking Exhaustivity of Pattern Matching (Short Paper)
Algebraic data types and pattern matching are key features of functional programming languages. Exhaustivity checking of pattern matching is a safety belt that defends against unmatched exceptions at runtime and boosts type safety. However, the presence of language features like inheritance, typecase, traits, GADTs, path-dependent types and union types makes the checking difficult and the algorithm complex.
In this paper we propose a generic algorithm that decouples the checking algorithm from specific type theories. The decoupling makes the algorithm simple and enables easy customization for specific type systems.
I’m a PhD student at EPFL. My interested areas are type systems, effect systems, programming languages, and various logics.
Conference DaySun 30 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10
|Implementing Higher-Kinded Types in Dotty|
Martin OderskyEPFL, Switzerland, Guillaume MartresEPFL, Switzerland, Dmitry PetrashkoEPFL, SwitzerlandDOI Pre-print Media Attached
Sébastien DoeraeneEPFL, Switzerland, Tobias SchlatterEPFL, Switzerland, Nicolas StuckiEPFL, SwitzerlandDOI Pre-print
|A Generic Algorithm for Checking Exhaustivity of Pattern Matching (Short Paper)|
Fengyun LiuEPFL, SwitzerlandDOI Media Attached
|Scaps: Type-Directed API Search for Scala|
Lukas Wegmann1plusX, Switzerland, Farhad MehtaUniversity of Applied Sciences Rapperswil, Switzerland, Peter SommerladUniversity of Applied Sciences Rapperswil, Switzerland, Mirko StockerUniversity of Applied Sciences Rapperswil, SwitzerlandDOI File Attached