A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Understanding ActiveX and OLE: a guide for developers and managers
Understanding ActiveX and OLE: a guide for developers and managers
Design of the programming language FORSYTHE
ALGOL-like Languages, Volume 1
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Inside COM
Adding type parameterization to the Java language
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Javalight is type-safe—definitely
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
NextStep Object-Oriented Programming and the Objective-C Language: Release 3
NextStep Object-Oriented Programming and the Objective-C Language: Release 3
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
Planning the Software Industrial Revolution
IEEE Software
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Une Extension de la Theorie des Types en lambda-Calcul
Proceedings of the Fifth Colloquium on Automata, Languages and Programming
Class Refinement and Interface Refinement in Object-Oriented Programs
FME '97 Proceedings of the 4th International Symposium of Formal Methods Europe on Industrial Applications and Strengthened Foundations of Formal Methods
PolyTOIL: A Type-Safe Polymorphic Object-Oriented Language
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Framework Composition: Problems, Causes and Solutions
TOOLS '97 Proceedings of the Tools-23: Technology of Object-Oriented Languages and Systems
The COMEL Language
Java Needs Compound Types
Intersection types and bounded polymorphism
Mathematical Structures in Computer Science
Extensible algebraic datatypes with defaults
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
A Basic Model of Typed Components
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Type-Safe Prototype-Based Component Evolution
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Pragmatic Type Interoperability
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
A comparative study of language support for generic programming
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Anomaly-free component adaptation with class overriding
Journal of Systems and Software
Supporting software composition at the programming language level
Science of Computer Programming - Special issue on new software composition concepts
Aspect-specification based on structural type information
Proceedings of the 2006 ACM symposium on Applied computing
A machine-checked model for a Java-like language, virtual machine, and compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
A flow-based approach for variant parametric types
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Content-based publish/subscribe with structural reflection
COOTS'01 Proceedings of the 6th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 6
Foundations of a simple and unified component-oriented language
Computer Languages, Systems and Structures
Whiteoak: introducing structural typing into java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
SCL: a simple, uniform and operational language for component-oriented programming in smalltalk
ISC'06 Proceedings of the 14th international conference on Advances in smalltalk
JavaGI: The Interaction of Type Classes with Interfaces and Inheritance
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer Languages, Systems and Structures
Implementing federated object systems
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Type compatibility can be defined based on name equivalence, that is, explicit declarations, or on structural matching. We argue that component software has demands for both. For types expressing individual contracts, name equivalence should be used so that references are made to external semantical specifications. For types that are composed of several such contracts, the structure of this composition should decide about compatibility.We introduce compound types as the mechanism to handle such compositions. To investigate the integrability into a strongly typed language, we add compound types to Java and report on a mechanical soundness proof of the resulting type system.Java users benefit from the higher expressiveness of the extended type system. We introduce compound types as a strict extension of Java, that is without invalidating existing programs. In addition, our proposal can be implemented on the existing Java Virtual Machine.