Object-oriented type inference
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Intersection and union types: syntax and semantics
Information and Computation
Coinductive axiomatization of recursive type equality and subtyping
Fundamenta Informaticae - Special issue: typed lambda-calculi and applications, selected papers
Coinductive Axiomatization of Recursive Type Equality and Subtyping
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
Making Type Inference Practical
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
The Cartesian Product Algorithm: Simple and Precise Type Inference Of Parametric Polymorphism
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Precise Constraint-Based Type Inference for Java
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Hm(x) type inference is clp(x) solving
Journal of Functional Programming
Static type inference for Ruby
Proceedings of the 2009 ACM symposium on Applied Computing
Type Inference by Coinductive Logic Programming
Types for Proofs and Programs
Coinductive Type Systems for Object-Oriented Languages
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Co-logic programming: extending logic programming with coinduction
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Coinductive big-step operational semantics for type soundness of Java-like languages
Proceedings of the 13th Workshop on Formal Techniques for Java-Like Programs
Hi-index | 0.00 |
Coinductive abstract compilation is a novel technique, which has been recently introduced, for defining precise type systems for object-oriented languages. In this approach, type inference consists in translating the program to be analyzed into a Horn formula f, and in resolving a certain goal w.r.t. the coinductive (that is, the greatest) Herbrand model of f. Type systems defined in this way are idealized, since types and, consequently, goal derivations, are not finitely representable. Hence, sound implementable approximations have to rely on the notions of regular types and derivations, and of subtyping and subsumption between types and atoms, respectively. In this paper we address the problem of defining a complete subtyping relation ≤ between types built on object and union type constructors: we interpret types as sets of values, and investigate on a definition of subtyping such that t1 ≤ t2 is derivable whenever the interpretation of t1 is contained in the interpretation of t2. Besides being an important theoretical result, completeness is useful for reasoning about possible implementations of the subtyping relation, when restricted to regular types.