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. Conferences, Workshops, Symposiums, and Seminars
  4. A generic algorithm for checking exhaustivity of pattern matching
 
conference paper

A generic algorithm for checking exhaustivity of pattern matching

Liu, Fengyun  
2016
SCALA 2016 Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala
SCALA 2016

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.

  • Files
  • Details
  • Metrics
Type
conference paper
DOI
10.1145/2998392.2998401
Web of Science ID

WOS:000390845300007

Author(s)
Liu, Fengyun  
Date Issued

2016

Published in
SCALA 2016 Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala
ISBN of the book

978-1-4503-4648-1

Start page

61

End page

64

Subjects

pattern matching

•

exhaustivity check

•

Scala

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAMP1  
Event nameEvent placeEvent date
SCALA 2016

Amsterdam, Netherlands

October 30 - 31, 2016

Available on Infoscience
February 2, 2017
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/134137
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