Sound and complete flow typing with unions, intersections and negations

26Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Flow typing is becoming a popular mechanism for typing existing programs written in untyped languages (e.g. JavaScript, Racket, Groovy). Such systems require intersections for the true-branch of a type test, negations for the false-branch, and unions to capture the flow of information at meet points. Type systems involving unions, intersections and negations require a subtype operator which is non-trivial to implement. Frisch et al. demonstrated that this problem was decidable. However, their proof was not constructive and does not lend itself naturally to an implementation. In this paper, we present a sound and complete algorithm for subtype testing in the presence of unions, intersections and negations. © Springer-Verlag 2013.

Cite

CITATION STYLE

APA

Pearce, D. J. (2013). Sound and complete flow typing with unions, intersections and negations. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7737 LNCS, pp. 335–354). Springer Verlag. https://doi.org/10.1007/978-3-642-35873-9_21

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free