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 generic-Java 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 proposals for restricting inheritance. We illustrate how the simplicity of our design reflects the design intuitions employed by programmers and potentially enables new features coming into demand for upcoming programming languages.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference28 articles.
1. Unification Theory
2. The Ceylon language specification version 1.0. ceylon-lang.org/documentation/1.0/spec/ November 2013. The Ceylon language specification version 1.0. ceylon-lang.org/documentation/1.0/spec/ November 2013.
3. F-bounded polymorphism for object-oriented programming
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Parametric Subtyping for Structural Parametric Polymorphism;Proceedings of the ACM on Programming Languages;2024-01-05
2. Type Automata;Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis;2023-07-12
3. Study of the subtyping machine of nominal subtyping with variance;Proceedings of the ACM on Programming Languages;2021-10-20
4. Language Support for Generic Programming in Object-Oriented Languages: Peculiarities, Drawbacks, Ways of Improvement;Programming Languages;2016