Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
An introduction to Trellis/Owl
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
A semantics of multiple inheritance
Information and Computation - Semantics of Data Types
The annotated C++ reference manual
The annotated C++ reference manual
A modest model of records, inheritance, and unbounded quantification
Information and Computation - Selections from 1988 IEEE symposium on logic in computer science
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
Strong typing of object-oriented languages revisited
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
F-bounded polymorphism for object-oriented programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Recursion over realizability structures
Information and Computation
Eiffel: the language
Semantics of programming languages: structures and techniques
Semantics of programming languages: structures and techniques
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
ACM Transactions on Programming Languages and Systems (TOPLAS)
Safe type checking in a statically-typed object-oriented programming language
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object-oriented programming without recursive types
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Strongtalk: typechecking Smalltalk in a production environment
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
A type system for prototyping languages
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bounded quantification is undecidable
Information and Computation
Application of OOP type theory: state, decidability, integration
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Subtypes vs. where clauses: constraining parametric polymorphism
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
On the relationship between classes, objects, and data abstraction
Theory and Practice of Object Systems - Third workshop on foundations of object-oriented languages (FOOL 3)
Featherweight Java: a minimal core calculus for Java and GJ
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Foundations of object-oriented languages: types and semantics
Foundations of object-oriented languages: types and semantics
A Theory of Objects
A lambda calculus of objects and method specialization
Nordic Journal of Computing
A Theory of Primitive Objects - Scond-Order Systems
ESOP '94 Proceedings of the 5th European Symposium on Programming: Programming Languages and Systems
An Operational Semantics for TOOPLE: A Statically-Typed Object-Oriented Programming Language
Proceedings of the 9th International Conference on Mathematical Foundations of Programming Semantics
A Theory of Primitive Objects - Untyped and First-Order Systems
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Integrating Subtyping, Matching and Type Quantification: A Practical Perspective
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
Relational Semantics for Recursive Types and Bounded Quantification
ICALP '89 Proceedings of the 16th International Colloquium on Automata, Languages and Programming
TAPSOFT '95 Proceedings of the 6th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Using category theory to design implicit conversions and generic operators
Semantics-Directed Compiler Generation, Proceedings of a Workshop
Contravariant methods in Java and C++
Journal of Computing Sciences in Colleges
Enhancing program verifications by restricting object types
Proceedings of the 2006 ACM symposium on Applied computing
The movable point problem and its resolution in object type graphs
Proceedings of the 43rd annual Southeast regional conference - Volume 2
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Lightweight scalable components
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Integrating Nominal and Structural Subtyping
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Is Structural Subtyping Useful? An Empirical Study
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Bounded session types for object oriented languages
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
JavaGI: The Interaction of Type Classes with Interfaces and Inheritance
ACM Transactions on Programming Languages and Systems (TOPLAS)
Exact type parameterization and ThisType support
TLDI '12 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation
A dynamic binding strategy for multiple inheritance and asynchronously communicating objects
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Defining object-oriented execution semantics using graph transformations
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
ECMFA'12 Proceedings of the 8th European conference on Modelling Foundations and Applications
JavaGI: generalized interfaces for java
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Using model types to support contract-aware model substitutability
ECMFA'13 Proceedings of the 9th European conference on Modelling Foundations and Applications
Hi-index | 0.00 |
PolyTOIL is a new statically typed polymorphic object-oriented programming language that is provably typesafe. By separating the definitions of subtyping and inheritance, providing a name for the type of self, and carefully defining the type-checking rules, we have obtained a language that is very expressive while supporting modular type-checking of classes. The matching relation on types, which is related to F-bounded quantification, is used both in stating type-checking rules and expressing the bounds on type parameters for polymorphism. The design of PolyTOIL is based on a careful formal definition of type-checking rules and semantics. A proof of type safety is obtained with the aid of a subject reduction theorem.