Adding type parameterization to the Java']Java(TM) language

被引:18
|
作者
Agesen, O [1 ]
Freund, SN [1 ]
Mitchell, JC [1 ]
机构
[1] STANFORD UNIV,DEPT COMP SCI,STANFORD,CA 94305
关键词
D O I
10.1145/263700.263720
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Although the Java programming language has achieved widespread acceptance, one feature that seems sorely missed is the ability to use type parameters (as in Ada generics, C++ templates, and ML polymorphic functions or data types) to allow a general concept to be instantiated to one or more specific types. In this paper, we propose parameterized classes and interfaces in which the type parameter may be constrained to either implement a given interface or extend a given class. This design allows the body of a parameterized class to refer to methods on objects of the parameter type, without introducing any new type relations into the language. We show that these Java extensions may be implemented by expanding parameterized classes at class load time, without any extension or modification to existing Java bytecode, verifier or bytecode interpreter.
引用
收藏
页码:49 / 65
页数:17
相关论文
共 50 条
  • [1] Adding Type Constructor Parameterization to Java']Java
    Cremet, Vincent k
    Altherr, Philippe
    [J]. JOURNAL OF OBJECT TECHNOLOGY, 2008, 7 (05): : 25 - 65
  • [2] Adding contracts to Java']Java
    Newmarch, J
    [J]. TOOLS 27: TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES, PROCEEDINGS, 1998, : 2 - 7
  • [3] Adding Dimension Analysis to Java']Java as a Composable Language Extension (Extended Abstract)
    Van Wyk, Eric
    Mali, Yogesh
    [J]. GENERATIVE AND TRANSFORMATIONAL TECHNIQUES IN SOFTWARE ENGINEERING II, 2008, 5235 : 442 - 456
  • [4] Making the future safe for the past:: Adding genericity to the Java']Java™ programming language
    Bracha, G
    Odersky, M
    Stoutamire, D
    Wadler, P
    [J]. ACM SIGPLAN NOTICES, 1998, 33 (10) : 183 - 200
  • [5] A type system for the Java']Java bytecode language and verifier
    Freund, SN
    Mitchell, JC
    [J]. JOURNAL OF AUTOMATED REASONING, 2003, 30 (3-4) : 271 - 321
  • [6] Java']Javari: Adding reference immutability to Java']Java
    Tschantz, MS
    Ernst, MD
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (10) : 211 - 230
  • [7] Adding Examples into Java']Java Documents
    Kim, Jinhan
    Lee, Sanghoon
    Hwang, Seung-won
    Kim, Sunghun
    [J]. 2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 540 - 544
  • [8] Java']Java(TM) and HotJava']Java: A comprehensive overview
    Shaio, S
    vanHoff, A
    Jellinek, H
    [J]. DIGEST OF PAPERS: COMPCON SPRING 96, FORTY-FIRST IEEE COMPUTER SOCIETY INTERNATIONAL CONFERENCE - INTELLECTUAL LEVERAGE, 1996, : 424 - 429
  • [9] The language JAVA']JAVA
    Bohnlein, M
    [J]. WIRTSCHAFTSINFORMATIK, 1997, 39 (04): : 398 - 400
  • [10] A type system for object initialization in the Java']Java bytecode language
    Freund, SN
    Mitchell, JC
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1999, 21 (06): : 1196 - 1250