Compound types for Java
- 1 October 1998
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 33 (10) , 362-373
- https://doi.org/10.1145/286936.286975
Abstract
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.Keywords
This publication has 8 references indexed in Scilit:
- Javalight is type-safe---definitelyPublished by Association for Computing Machinery (ACM) ,1998
- Adding type parameterization to the Java languagePublished by Association for Computing Machinery (ACM) ,1997
- Intersection types and bounded polymorphismMathematical Structures in Computer Science, 1997
- A behavioral notion of subtypingACM Transactions on Programming Languages and Systems, 1994
- IsabellePublished by Springer Nature ,1994
- Planning the software industrial revolutionIEEE Software, 1990
- A Proposal for Making Eiffel Type-safeThe Computer Journal, 1989
- A new type assignment for λ-termsArchive for Mathematical Logic, 1978