paperbot · PL 论文追踪

RSS

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

POPL 5(POPL)2021
Eddie Jones, Steven Ramsay

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(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-case linear-time in the program size. Compositionality is essential to obtaining this complexity guarantee. A prototype implementation for Haskell is able to analyse a selection of packages from the Hackage database in a few hundred milliseconds.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot1169,
  title = {Intensional datatype refinement: with application to scalable verification of pattern-match safety},
  author = {Eddie Jones and Steven Ramsay},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {POPL},
  year = {2021},
  doi = {10.1145/3434336}
}