2021
DOI: 10.1145/3434336
|View full text |Cite
|
Sign up to set email alerts
|

Intensional datatype refinement: with application to scalable verification of pattern-match safety

Abstract: The pattern-match safety problem is to verify that a given functional program will never crash due to non-exhaustive patterns in its function definitions. We present a refinement type system that can be used to solve this problem. The system extends ML-style type systems with algebraic datatypes by a limited form of structural subtyping and environment-level intersection. We describe a fully automatic, sound and complete type inference procedure for this system which, under reasonable assumptions, is worst-cas… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
2
1

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(1 citation statement)
references
References 66 publications
(59 reference statements)
0
1
0
Order By: Relevance
“…Jones and Ramsay [15] used refinement types to validate termination of functional programs in the presence of non-exhaustive pattern matching. Their notion of an intensional refinement is obtained by removing some of the constructors from a datatype, but the remaining constructors cannot be assigned new sorts.…”
Section: Refinement Typesmentioning
confidence: 99%
“…Jones and Ramsay [15] used refinement types to validate termination of functional programs in the presence of non-exhaustive pattern matching. Their notion of an intensional refinement is obtained by removing some of the constructors from a datatype, but the remaining constructors cannot be assigned new sorts.…”
Section: Refinement Typesmentioning
confidence: 99%