Affiliation:
1. National University of Singapore
Abstract
A promising approach for type-safe generic codes in the object-oriented paradigm is
variant parametric type
, which allows covariant and contravariant subtyping on fields where appropriate. Previous approaches formalise variant type as a special case of the existential type system. In this paper, we present a new framework based on
flow analysis
and
modular type checking
to provide a simple but accurate model for capturing generic types. Our scheme stands to benefit from past (and future) advances in flow analysis and subtyping constraints. Furthermore, it fully supports casting for variant types with a special reflection mechanism, called cast capture, to handle objects with unknown types. We have built a constraint-based type checker and have proven its soundness. We have also successfully annotated a suite of Java libraries and client code with our flow-based variant type system.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference41 articles.
1. IC-Parc at Imperial College. ECLiPSe Constraint Logic Programming. http://www.icparc.ic.ac.uk/eclipse/.]] IC-Parc at Imperial College. ECLiPSe Constraint Logic Programming. http://www.icparc.ic.ac.uk/eclipse/.]]
2. Making the future safe for the past
3. Compound types for Java
4. F-bounded polymorphism for object-oriented programming
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Generic Sensitivity: Generics-Guided Context Sensitivity for Pointer Analysis;IEEE Transactions on Software Engineering;2024-05
2. Generic sensitivity: customizing context-sensitive pointer analysis for generics;Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2022-11-07
3. Variant Region Types;2018 23rd International Conference on Engineering of Complex Computer Systems (ICECCS);2018-12
4. Constraint Handling Rules - What Else?;Rule Technologies: Foundations, Tools, and Applications;2015
5. As time goes by: Constraint Handling Rules;Theory and Practice of Logic Programming;2009-12-22