skip to main content
10.1145/286936.286958acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free Access

Compatible genericity with run-time types for the Java programming language

Published:01 October 1998Publication History

ABSTRACT

The most serious impediment to writing substantial programs in the Java™ programming language is the lack of a gentricity mechanism for abstracting classes and methods with respect to type. During the past two years, several research groups have developed Java extensions that support various forms of genericity, but none has succeeded in accommodating general type parameterization (akin to Java arrays) while retaining compatibility with the existing. Java Virtual Machine. In this paper, we explain how to support general type parameterization---including both non-variant and covariant subtyping---on top of the existing Java Virtual Machine at the cost of a larger code footprint and the forwarding of some method calls involving parameterized classes and methods. Our language extension is forward and backward compatible with the Java 1.2 language and run-time environment: programs in the extended language will run on existing Java 1.2 virtual machines (relying only on the unparameterized Java core libraries) and all existing Java 1.2 programs have the same binary representation and semantics (behavior) in the extended language.

References

  1. AFM97.Ole Agesen, Stephen Freund, and John Mitcllell. Adding parameterized types to Java. In A CM ,5'ymposiu'm of Object-Oriented Progrclrnming: Systems. l,<~.nguafle.s, and Applications. October 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. BOSW98.Gilad Bracha, Martin Odersky. David Stoutamire. and Philip Wadler. Making the future safe for the past: Adding Genericity to the JavaTM Programming Language. To appear in Proc. of the A CM Conf. on Object-Oriented Programming, Systems, Languages, and Applications. October 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. CCH+89.Peter Canning, William Cook, Walter Hill. Walter Olthoff. and John C. Mitchell. F-bounded polymorphism for object-oriented programming. In Proc. Functional Programming Languages and Computer Architecture, September 1989. 273-280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mey92.Bertrand Meyer. Eiffel: The Language. Prentice Hall. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. MBL97.Andrew C. Myers; Joseph A. Bank. and Barbara Liskov. Parameterized types for Java. In A CM Symposium on Principles of Programming Languages, January 1997. 132-145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. OW97.Martin Odersky and Philip Wadler. Pizza into Java: Translating theory into practice. In A CM Symposium on Principles of Programming Languages. January 1997. 146-159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Tho97.Kresten Krab Thorup. Genericity in Java with virtual types. In European Conference on Object- Oriented Programming, LNCS 1241: Springer-Verlag, 1997. 444-471.Google ScholarGoogle ScholarCross RefCross Ref
  8. Tor98.Mads Torgersen. Virtual types are statically safe. Fifth Workshop on Foundations of Object-Oriented Languages. January 1998.Google ScholarGoogle Scholar

Index Terms

  1. Compatible genericity with run-time types for the Java programming language

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          OOPSLA '98: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
          October 1998
          428 pages
          ISBN:1581130058
          DOI:10.1145/286936

          Copyright © 1998 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 October 1998

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate268of1,244submissions,22%

          Upcoming Conference

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader