Maciel Zortea, Miguel Paredes, et al.
IGARSS 2021
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-point 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.
Maciel Zortea, Miguel Paredes, et al.
IGARSS 2021
Renu Tewari, Richard P. King, et al.
IS&T/SPIE Electronic Imaging 1996
B. Wagle
EJOR
Gabriele Dominici, Pietro Barbiero, et al.
ICLR 2025