On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Toward a typed foundation for method specialization and inheritance
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Proceedings of the fifth international conference on Mathematical foundations of programming semantics
Inheritance as implicit coercion
Information and Computation
PER models of subtyping, recursive types and higher-order polymorphism
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Programming with intersection types and bounded polymorphism
Programming with intersection types and bounded polymorphism
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented programming without recursive types
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Handbook of logic in computer science (vol. 2)
Decidable bounded quantification
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Theoretical aspects of object-oriented programming: types, semantics, and language design
Theoretical aspects of object-oriented programming: types, semantics, and language design
Corrigendum: decidable bounded quantification
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Theoretical Computer Science
Bounded existentials and minimal typing
Theoretical Computer Science
Theoretical Computer Science
A Theory of Objects
Types for Data-Oriented Languages
EDBT '88 Proceedings of the International Conference on Extending Database Technology: Advances in Database Technology
Subtyping Calculus of Construction (Extended Abstract)
MFCS '97 Proceedings of the 22nd International Symposium on Mathematical Foundations of Computer Science
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Using category theory to design implicit conversions and generic operators
Semantics-Directed Compiler Generation, Proceedings of a Workshop
Decidability of Higher-Order Subtyping with Intersection Types
CSL '94 Selected Papers from the 8th International Workshop on Computer Science Logic
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Type systems for object-oriented programming languages
Type systems for object-oriented programming languages
Typed operational semantics for higher-order subtyping
Information and Computation
Tool Support for Holistic Modelling of Distributed Embedded Systems in Creol
Electronic Notes in Theoretical Computer Science (ENTCS)
An extended type system for OCL supporting templates and transformations
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Hi-index | 0.00 |
We define the typed lambda calculus F^ω (F-omega-meet), a natural generalization of Girard's system Fω (F-omega) with intersection types and bounded polymorphism. A novel aspect of our presentation is the use of term rewriting techniques to present intersection types, which clearly splits the computational semantics (reduction rules) from the syntax (inference rules) of the system. We establish properties such as Church-Rosser for the reduction relation on types and terms, and strong normalization for the reduction on types. We prove that types are preserved by computation (subject reduction), and that the system satisfies the minimal types property. We define algorithms for type checking and subtype checking. The development culminates with the proof of decidability of typing in F^ω, containing the first proof of decidability of subtyping of a higher-order lambda calculus with subtyping.