Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation 2014
DOI: 10.1145/2594291.2594308
|View full text |Cite
|
Sign up to set email alerts
|

Getting F-bounded polymorphism into shape

Abstract: We present a way to restrict recursive inheritance without sacrificing the benefits of F-bounded polymorphism. In particular, we distinguish two new concepts, materials and shapes, and demonstrate through a survey of 13.5 million lines of open-source genericJava code that these two concepts never actually overlap in practice. With this Material-Shape Separation, we prove that even naïve type-checking algorithms are sound and complete, some of which address problems that were unsolvable even under the existing … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
32
0

Year Published

2015
2015
2022
2022

Publication Types

Select...
4
2
2

Relationship

2
6

Authors

Journals

citations
Cited by 30 publications
(32 citation statements)
references
References 23 publications
0
32
0
Order By: Relevance
“…In most applications, partial correctness suffices, but not so in security critical applications (where users are malicious), nor in mission critical applications (where nontermination is costly). Since there cannot be a totally correct Java type checker, Theorem 1 strengthens the motivation behind research into alternative type systems, such as (Greenman et al 2014) and (Zhang et al 2015).…”
Section: Discussionmentioning
confidence: 73%
“…In most applications, partial correctness suffices, but not so in security critical applications (where users are malicious), nor in mission critical applications (where nontermination is costly). Since there cannot be a totally correct Java type checker, Theorem 1 strengthens the motivation behind research into alternative type systems, such as (Greenman et al 2014) and (Zhang et al 2015).…”
Section: Discussionmentioning
confidence: 73%
“…In the presence of variant generics, subtyping is often undecidable, as Kennedy and Pierce [2007] and Grigore [2017] have shown. A promising approach is that of Greenman et al [2014], who identified a pattern in how generics are used in practice; a pattern that can be enforced by the language design to ensure that subtyping is decidable.…”
Section: Increasing Expressivenessmentioning
confidence: 99%
“…super when the wildcard has an implicit constraint, which Tate et al determined is extremely rare in practice [35]. Another solution is to only introduce implicit constraints between what Greenman et al call "materials" [13], which they have determined would be almost certainly be backwards compatible in practice. These constraints are not recursive, which would make it easier to determine if they introduce a new subtyping.…”
Section: Potential Fixesmentioning
confidence: 99%