Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Proc. of the thirteenth spring school of the LITP on Combinators and functional programming languages
Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
An introduction to Trellis/Owl
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Inheritance and the development of encapsulated software systems
Research directions in object-oriented programming
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
TS: an optimizing compiler for smalltalk
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Objects as closures: abstract semantics of object-oriented languages
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Structural subtyping and the notion of power type
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A proposal for making Eiffel type-safe
The Computer Journal - Special issue on object-oriented programming
A denotational semantics of inheritance and its correctness
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Interfaces for strongly-typed object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Type checking records and variants in a natural extension of ML
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference for record concatenatiOn and multiple inheritance
Proceedings of the Fourth Annual 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
F-bounded polymorphism for object-oriented programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
A type declaration and inference system for smalltalk
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A denotational semantics of inheritance
A denotational semantics of inheritance
Type checking and type inference for object-oriented programming languages
Type checking and type inference for object-oriented programming languages
Simula Begin
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type substitution for object-oriented programming
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
A parallel object-oriented language with inheritance and subtyping
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
A record calculus based on symmetric concatenation
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A static type system for message passing
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Introduction to the literature on object-oriented design, programming, and languages
ACM SIGPLAN OOPS Messenger
A calculus for overloaded functions with subtyping
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Interfaces and specifications for the Smalltalk-80 collection classes
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Issues in the design and specification of class libraries
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Bounded quantification is undecidable
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
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
A constructive logic of multiple subtyping
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Method reuse in typed object-oriented languages
SAC '93 Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice
Is object-oriented programming structured programming?
ACM SIGPLAN Notices
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
Typing the specialization interface
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
Inheritance modeled with explicit bindings: an approach to typed inheritance
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
Typechecking and modules for multi-methods
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Application of OOP type theory: state, decidability, integration
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Logical foundations of object-oriented and frame-based languages
Journal of the ACM (JACM)
Sound polymorphic type inference for objects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Modular reasoning in the presence of subclassing
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Typechecking and modules for multimethods
ACM Transactions on Programming Languages and Systems (TOPLAS)
Delegation versus concatenation or cloning is inheritance too
ACM SIGPLAN OOPS Messenger
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
ACM Transactions on Programming Languages and Systems (TOPLAS)
A natural semantics for Eiffel dynamic binding
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing signatures for C++
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Computing Surveys (CSUR)
The ODMG object model: does it make sense?
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Static typing for dynamic messages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Multiple dispatch as dispatch on Tuples
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An efficient method for checking object-oriented database schema correctness
ACM Transactions on Database Systems (TODS)
The design of a class mechanism for Moby
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
An object-oriented data framework for virtual environments with hierarchical modeling
ACM SIGSOFT Software Engineering Notes
Type-checking OQL queries in the ODMG type systems
ACM Transactions on Database Systems (TODS)
POOL: a persistent object-oriented language
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
An efficient class and object encoding
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using and teaching information hiding in single-semester software engineering projects
ACSE '00 Proceedings of the Australasian conference on Computing education
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Class-is-type is inadequate for object reuse
ACM SIGPLAN Notices
Objects and classes in Algol-like languages
Information and Computation - FOOL V
Support for subtyping and code re-use in Timor
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Formal methods for distributed processing
An Operational Approach to the Semantics of Classes: Application to Type Checking
Programming and Computing Software
PolyTOIL: A type-safe polymorphic object-oriented language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Supporting evolution of interface exceptions
Advances in exception handling techniques
Describing the Semantics of Java and Proving Type Soundness
Formal Syntax and Semantics of Java
Attaching Second-Order Types to Methods in an Object-Oriented Language
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
A Core Calculus of Classes and Mixins
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Behavioral Compatibility of Self-Typed Theories
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Component Libraries and Language Features
Ada Europe '01 Proceedings of the 6th Ade-Europe International Conference Leuven on Reliable Software Technologies
Supporting Evolution of Interface Exceptions
Advances in Exception Handling Techniques (the book grow out of a ECOOP 2000 workshop)
An Interpretation of Extensible Objects
FCT '99 Proceedings of the 12th International Symposium on Fundamentals of Computation Theory
PolyTOIL: A Type-Safe Polymorphic Object-Oriented Language
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
On pseudo object-oriented programming considered harmful
Communications of the ACM - Service-oriented computing
Intersection types and bounded polymorphism
Mathematical Structures in Computer Science
Adding wildcards to the Java programming language
Proceedings of the 2004 ACM symposium on Applied computing
Higher-order subtyping and its decidability
Information and Computation
"Objects first, interfaces next" or interfaces before inheritance
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Inheritance processing and conflicts in structural generalization hierarchies
ACM Computing Surveys (CSUR)
A simple typed intermediate language for object-oriented languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Eliminating distinctions of class: using prototypes to model virtual classes
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Teaching inheritance concepts with Java
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
A multi-level architecture for distributed object bases
Data & Knowledge Engineering
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Object-based and class-based composition of transitive mixins
Information and Software Technology
Implementing signatures for C++
CTEC'94 Proceedings of the 6th conference on USENIX Sixth C++ Technical Conference - Volume 6
Integration of concurrency control in a language with subtyping and subclassing
COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
Separation logic, abstraction and inheritance
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CZ: multiple inheritance without diamonds
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Interfaces first (and foremost) with Java
Proceedings of the 41st ACM technical symposium on Computer science education
Let's modularize the data model specifications of the ObjectLens in VisualWorks/Smalltalk
ISC'06 Proceedings of the 14th international conference on Advances in smalltalk
A prototypical Java-like language with records and traits
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
An empirical investigation into a large-scale Java open source code repository
Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement
Morphing: Structurally shaping a class by reflecting on others
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new data abstraction layer required for OODBMS
IDEAS'97 Proceedings of the 1997 international conference on International database engineering and applications symposium
Metamodeling semantics of multiple inheritance
Science of Computer Programming
JavaGI: The Interaction of Type Classes with Interfaces and Inheritance
ACM Transactions on Programming Languages and Systems (TOPLAS)
Enhanced Type-based Component Compatibility Using Deployment Context Information
Electronic Notes in Theoretical Computer Science (ENTCS)
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
Semantic hierarchy refactoring by abstract interpretation
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
Modal logics for reasoning about object-based component composition
IW-FM'00 Proceedings of the 4th Irish conference on Formal Methods
Software modeling language with frames and multi-abstractions: an overview
ICAISC'12 Proceedings of the 11th international conference on Artificial Intelligence and Soft Computing - Volume Part II
A Subtyping for Extensible, Incomplete Objects
Fundamenta Informaticae
A higher abstraction level using first-class inheritance relations
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
TraitRecordJ: A programming language with traits and records
Science of Computer Programming
Pure trait-based programming on the Java platform
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
On model compatibility with referees and contexts
Software and Systems Modeling (SoSyM)
Forsaking inheritance: supercharged delegation in DelphJ
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
What programmers do with inheritance in java
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
A Domain-Theoretic Model Of Nominally-Typed Object-Oriented Programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
In typed object-oriented languages the subtype relation is typically based on the inheritance hierarchy. This approach, however, leads either to insecure type-systems or to restrictions on inheritance that make it less flexible than untyped Smalltalk inheritance. We present a new typed model of inheritance that allows more of the flexibility of Smalltalk inheritance within a statically-typed system. Significant features of our analysis are the introduction of polymorphism into the typing of inheritance and the uniform application of inheritance to objects, classes and types. The resulting notion of type inheritance allows us to show that the type of an inherited object is an inherited type but not always a subtype.