Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. Making the future safe for the past: Adding Genericity to the Java Programming Language
 
conference paper

Making the future safe for the past: Adding Genericity to the Java Programming Language

Bracha, Gilad
•
Odersky, Martin  
•
Stoutamire, David
Show more
1998
Proc. OOPSLA 1998.
OOPSLA 1998

We present GJ, a design that extends the Java programming language with generic types and methods. These are both explained and implemented by translation into the unextended language. The translation closely mimics the way generics are emulated by programmers: it erases all type parameters, maps type variables to their bounds, and inserts casts where needed. Some subtleties of the translation are caused by the handling of overriding. GJ increases expressiveness and safety: code utilizing generic libraries is no longer buried under a plethora of casts, and the corresponding casts inserted by the translation are guaranteed to not fail. GJ is designed to be fully backwards compatible with the current Java language, which simplifies the transition from non-generic to generic programming. In particular, one can retrofit existing library classes with generic interfaces without changing their code.

  • Files
  • Details
  • Metrics
Type
conference paper
Author(s)
Bracha, Gilad
Odersky, Martin  
Stoutamire, David
Wadler, Philip
Date Issued

1998

Published in
Proc. OOPSLA 1998.
Written at

EPFL

EPFL units
LAMP1  
Event name
OOPSLA 1998
Available on Infoscience
January 24, 2006
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/221714
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés