An ideal model for recursive polymorphic types
Information and Control
Operational and algebraic semantics of concurrent processes
Handbook of theoretical computer science (vol. B)
Co-induction in relational semantics
Theoretical Computer Science
Type inclusion constraints and type inference
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
A syntactic approach to type soundness
Information and Computation
Efficient inference of partial types
Journal of Computer and System Sciences
Lower bounds on type inference with subtypes
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system equivalent to flow analysis
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient inference of object types
Information and Computation
Simplifying subtyping constraints
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Constrained types and their expressiveness
ACM Transactions on Programming Languages and Systems (TOPLAS)
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Type reconstruction for linear &pgr;-calculus with I/O subtyping
Information and Computation
An efficient class and object encoding
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Types and programming languages
Types and programming languages
A Theory of Objects
On the complexity analysis of static analyses
Journal of the ACM (JACM)
Ordering Constraints over Feature Trees
Constraints
Type inference for variant object types
Information and Computation - FOOL VII
Type inference with simple selftypes is NP-complete
Nordic Journal of Computing
From Classes to Objects via Subtyping
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Efficient Type Reconstruction in the Presence of Inheritance
MFCS '93 Proceedings of the 18th International Symposium on Mathematical Foundations of Computer Science
On Variance-Based Subtyping for Parametric Types
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
The Typed lambda-Calculus with First-Class Processes
PARLE '89 Proceedings of the Parallel Architectures and Languages Europe, Volume II: Parallel Languages
Satisfying Subtype Inequalities in Polynomial Space
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Polymorphic type inference for scripting languages with object extensions
Proceedings of the 7th symposium on Dynamic languages
Hi-index | 0.00 |
Read-only fields are useful in object calculi, pi calculi, and statically typed intermediate languages because they admit covariant subtyping, unlike updateable fields. For example, Glew's translation of classes and objects to an intermediate calculus relies crucially on covariant subtyping of read-only fields to ensure that subclasses are translated to subtypes.In this article, we present a type inference algorithm for an Abadi--Cardelli object calculus in which fields are marked either as updateable or as read-only. The type inference problem is P-complete, and our algorithm runs in O(n3) time. The same complexity results hold for the calculus in which the fields are not explicitly annotated as updateable or read-only; perhaps surprisingly, the annotations do not make type inference easier. We show that type inference is equivalent to the problem of solving type constraints, and this forms the core of our algorithm and implementation.