A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
Three approaches to type structure
Proc. of the international joint conference on theory and practice of software development (TAPSOFT) Berlin, March 25-29, 1985 on Mathematical foundations of software development, Vol. 1: Colloquium on trees in algebra and programming (CAAP'85)
A simple technique for handling multiple polymorphism
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The definition of Standard ML
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
F-bounded polymorphism for object-oriented programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Type inference for polymorphic references
Information and Computation
Type inference in the presence of overloading, subtyping and recursive types
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Safety analysis versus type inference for partial types
Information Processing Letters
Type inclusion constraints and type inference
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Safe and decidable type checking in an object-oriented language
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Object-oriented type systems
Two semantic models of object-oriented languages
Theoretical aspects of object-oriented programming
Application of OOP type theory: state, decidability, integration
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Precise concrete type inference for object-oriented languages
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Covariance and contravariance: conflict without a cause
ACM Transactions on Programming Languages and Systems (TOPLAS)
Multi-Methods in a Statically-Typed Programming Language
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Making Type Inference Practical
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
A Complete Type Inference System for Subtyped Recursive Types
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
PolyTOIL: A Type-Safe Polymorphic Object-Oriented Language
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Simple objects for Standard ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Simplifying subtyping constraints
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Complexity of kernel Fun subtype checking
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Constrained types and their expressiveness
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Computing Surveys (CSUR)
Componential set-based analysis
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Objective ML: a simple object-oriented extension of ML
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient dynamic dispatch without virtual function tables: the SmallEiffel compiler
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Minimal typings in atomic subtyping
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type checking higher-order polymorphic multi-methods
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From polyvariant flow information to intersection and union types
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Contraint-based polymorphism in Cecil: towards a practical and static type system
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Pragmatic subtyping in polymorphic languages
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A framework for type inference with subtyping
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Componential set-based analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modular type-based reverse engineering of parameterized types in Java code
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Correspondence polymorphism for object-oriented languages
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Type-base flow analysis: from polymorphic subtyping to CFL-reachability
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Simplifying subtyping constraints: a theory
Information and Computation
On type systems for object-oriented database programming languages
ACM Computing Surveys (CSUR)
Type inference for variant object types
Information and Computation - FOOL VII
Optimal Representations of Polymorphic Types with Subtyping
Higher-Order and Symbolic Computation
Polyvariant Flow Analysis with Constrained Types
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Non-structural Subtype Entailment in Automata Theory
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Entailment of Non-structural Subtype Constraints
ASIAN '99 Proceedings of the 5th Asian Computing Science Conference on Advances in Computing Science
A Core Calculus of Classes and Mixins
ECOOP '99 Proceedings of the 13th 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
Non-structural subtype entailment in automata theory
Information and Computation - TACS 2001
From Polyvariant flow information to intersection and union types
Journal of Functional Programming
The recursive record semantics of objects revisited
Journal of Functional Programming
Converting java programs to use generic libraries
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Introducing safe unknown types in Java-like languages
Proceedings of the 2006 ACM symposium on Applied computing
Formalisation and implementation of an algorithm for bytecode verification of @NonNull types
Science of Computer Programming
Polymorphic type inference for scripting languages with object extensions
Proceedings of the 7th symposium on Dynamic languages
Complexity of subtype satisfiability over posets
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Towards type inference for javascript
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Inference rules for generic code migration of aspect-oriented programs
Science of Computer Programming
Semantic Types and Approximation for Featherweight Java
Theoretical Computer Science
Hi-index | 0.00 |
A polymorphic, constraint-based type inference algorithm for an object-oriented language is defined. A generalized form of type, polymorphic recursively constrained types, are inferred. These types are expressive enough for typing objects, since they generalize recursive types and F-bounded polymorphism. The well-known tradeoff between inheritance and subtyping is mitigated by the type inference mechanism. Soundness and completeness of type inference are established.