ACM Home Page
Please provide us with feedback. Feedback
Kava: a Java dialect with a uniform object model for lightweight classes
Full text PdfPdf (848 KB)
Source Java Grande Conference archive
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande table of contents
Palo Alto, California, United States
Pages: 68 - 77  
Year of Publication: 2001
ISBN:1-58113-359-6
Author
David F. Bacon  IBM T.J. Watson Research Center
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 10,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/376656.376812
What is a DOI?

ABSTRACT

Object-oriented programming languages have always distinguished between “primitive” and “user-defined” data types, and in the case of languages like C++ and Java, the primitives are not even treated as objects, further fragmenting the programming model. The distinction is especially problematic when a particular programming community requires primitive-level support for a new data type, as for complex, intervals, fixed-pointed numbers, and so on.

We present Kava, a design for a backward-compatible version of Java that solves the problem of programmable lightweight objects in a much more aggressive and uniform manner than previous proposals. In Kava, there are no primitive types; instead, object-oriented programming is provided down to the level of single bits, and types such as int can be explicitly programmed within the language. While the language maintains a uniform object reference semantics, efficiency is obtained by making heavy use of unboxing and semantic expansion.

We describe Kava as a dialect of the Java language, show how it can be used to define various primitive types, describe how it can be translated into Java, and compare it to other approaches to lightweight objects.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
BROPHY, J. Complex numbers in Java, 1999. Poster presentation, ACM Java Grande Conference.
4
 
5
CHAMBERS, C. The Cecil language: Specification and rationale. Tech. Rep. TR-93-03-05, Department of Computer Science, University of Washington, Mar. 1993.
 
6
CHARLES, P., AND SHIELDS, D. The Jikes project, 1999. Available at oss. software, ibm. com.
 
7
CODY, W. J., ET AL. A proposed radix- and word-lengthindependent standard for floating-point arithmetic. 1EEE Micro 4, 4 (1984), 86-100.
 
8
DARCY, J. D. Borneo 1.0: Adding IEEE 754 floating-point support to Java. Master's thesis, Computer Science Division, University of California, Berkeley, 1998.
 
9
 
10
GOSLING, J. The evolution of numerical computing in Java, 1998. Available at java.sun.com/- people/j ag/FP, html.
 
11
 
12
IEEE Standard VHDL Language Reference Manual: 1EEE Standard 1076-1993, revised ed., 1994.
13
 
14
LEROY, X. The effectiveness of type-based unboxing. In Workshop on Types in Compilation (June 1997), Technical Report BCCS-97-03, Computer Science Department, Boston College.
 
15
 
16
 
17
18
 
19
NUMERICS WORKING GROUP, JAVA GRANDE FO- RUM. Improving Java for numerical computation, 1998. Available at math.nist.gov/javanumerics/- reports / j g fnwg- 01. html.
 
20
 
21
PHILIPPSEN, M., AND EDWIN GONTHNER. cj: A new approach for the efficient use of complex numbers in Java, 1999. Available at wwwipd, ira. uka. de/JavaPar ty/cj.
22
23
 
24
System C Version 1.1 User's Guide, 2000. Available at www. systemc, org.
25
26
27
 
28
YELICK, K., ET AL. Titanium: A high-performance Java dialect. In ACM Workshop on Java for High-Performance Network Computing (Stanford, California, Feb. 1998).
29