On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference in the presence of overloading, subtyping and recursive types
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inclusion constraints and type inference
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Soft typing with conditional types
POPL '94 Proceedings of the 21st 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
Principal type schemes for functional programs with overloading and subtyping
TAPSOFT '93 Selected papers of the colloquium on Formal approaches of software engineering
Sound polymorphic type inference for objects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Simplifying subtyping constraints
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Polymorphic Binding-Time Analysis
ESOP '94 Proceedings of the 5th European Symposium on Programming: Programming Languages and Systems
Implementing Regular Tree Expressions
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
An ideal model for recursive polymorphic types
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Making Set-Constraint Program Analyses Scale
Making Set-Constraint Program Analyses Scale
An anecdote about ML type inference
VHLLS'94 Proceedings of the USENIX 1994 Very High Level Languages Symposium Proceedings on USENIX 1994 Very High Level Languages Symposium Proceedings
Sound, complete and scalable path-sensitive analysis
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Hi-index | 0.00 |
Many type inference and program analysis systems include notions ofsubtyping and parametric polymorphism. When used together, these two featuresinduce equivalences that allow types to be simplified by eliminatingquantified variables. Eliminating variables both improves thereadability of types and the performance of algorithms whosecomplexity depends on the number of type variables. We present analgorithm for simplifying quantified types in the presence ofsubtyping and prove it is sound and complete for non-recursive and recursivetypes. We also show that an extension of the algorithm is sound butnot complete for a type language with intersection and union types, as well asfor a language of constrained types.