GJ(ID:3363/gj:001)

Generic Java 


for Generic Java - addition of genericity to Java


Related languages
Java => GJ   Extension of
Oberon => GJ   Influence
Smalltalk => GJ   Influence

References:
  • Gilad Bracha, Martin Odersky, David Stoutamire, Philip Wadler: "Making the Future Safe for the Past: Adding Genericity to the Java Programming Language" view details Abstract: 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.
    External link: SiteSeer page
          in [SIGPLAN] "Object Oriented Programming: Systems, Languages, and Applications (OOPSLA)" Vancouver, BC 1998 ed Craig Chambers p p183--200 view details
    Resources
    • The GJ compiler
      Martin Odersky. . Available from www.cis.unisa.edu.au/pizza/gj wwwipd.ira.uka.de/pizza/gj www.math.luc.edu/pizza/gj www.cs.bell--labs.com/wadler/pizza/gj
      "