Results 11 -
16 of
16
Foundations of Object-Oriented Languages - Workshop Report
- ACM SIGPLAN Not
, 1994
"... Data Types (ADTs) and objects in ObjectOriented Languages (OOLs) [9]. He argued that although both are based on the idea of data abstraction, they are fundamentally different. In short, an ADT may be understood as a set with operations, whereas objects are sets of operations. In an ADT, abstraction ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Data Types (ADTs) and objects in ObjectOriented Languages (OOLs) [9]. He argued that although both are based on the idea of data abstraction, they are fundamentally different. In short, an ADT may be understood as a set with operations, whereas objects are sets of operations. In an ADT, abstraction is achieved by hiding the type of the representation. This hiding is often modeled using an existential quantifier. In OOLs, abstraction is achieved by letting the operations themselves represent the data. The interfaces of the operations need not have any direct relation to the underlying representation at all. One of the consequences of the above is that in an ADT, recursion is seldomly needed in the interface (although it may well be used in the representation). In OOLs, recursion is often essential to the interface. Thus, recursion should be central in models of OOLs. Dinesh Katiyar: Interfaces and typed OOP. Katiyar presented a type system featuring bounded existential quantification...
Rupiah: Towards an Expressive Static Type System for Java
, 2001
"... Despite Java's popularity, several practical limitations imposed by the language's type system have become increasingly apparent in recent years. A particularly glaring omission is the lack of a generic mechanism. As a result of this shortcoming, many recent projects have extended Java to support po ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Despite Java's popularity, several practical limitations imposed by the language's type system have become increasingly apparent in recent years. A particularly glaring omission is the lack of a generic mechanism. As a result of this shortcoming, many recent projects have extended Java to support polymorphism in the style of C++ templates or Ada generics. One project, GJ [BOSW98], adds F-bounded parametric polymorphism [CCH 89] to Java via a homogeneous translation (such that only one class file results from each compiled source file), and produces bytecode that is compatible with the standard Java Virtual Machine. However while GJ's simple translation based on erasure allows for maximum interaction with existing Java code, the new parameterized types that it supports do not operate consistently with Java's semantics for lightweight reflection (i.e., checked type-casts and instanceof operations).
Developments in Object-Oriented Type Systems
, 1994
"... data types are employed in [86, 85]; their relation to classes is discussed earlier in [31]. Large languages are presented in [13, 11]. Slide 86 Type inference for simple subtyping is developed in [69, 102, 59, 74, 105, 55, 104]. Slide 88--94 Class inference is developed in [101, 45, 79, 76, 4]. Sli ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
data types are employed in [86, 85]; their relation to classes is discussed earlier in [31]. Large languages are presented in [13, 11]. Slide 86 Type inference for simple subtyping is developed in [69, 102, 59, 74, 105, 55, 104]. Slide 88--94 Class inference is developed in [101, 45, 79, 76, 4]. Slide 96 ML modules are described in [67, 106]. Slide 97 Approaches to genericity are discussed in [63, 49, 61, 73, 83]. Annotated Bibliography 104 Slide 98 Multi-methods are presented in [53, 72, 24, 25]. Slide 99 The Self language is described in [108, 26, 27, 28, 48, 3]. References ...
A Module System for LOOM
- Williams College Senior Honors Thesis
, 1997
"... A strong module system is a very important language tool for developing software systems. Classes alone do not allow for sufficient levels of abstraction and separate compilation. Modules can be very helpful in organizing code, providing abstraction, and supporting separate compilation. Abstraction ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
A strong module system is a very important language tool for developing software systems. Classes alone do not allow for sufficient levels of abstraction and separate compilation. Modules can be very helpful in organizing code, providing abstraction, and supporting separate compilation. Abstraction makes it difficult to share types between modules, but transparent types can propagate too much information to allow separate compilation. The use of partially abstract types and manifest types can help to avoid these problems. Earlier work by Robert van Gent and Angela Schuett under the direction of Professor Kim Bruce resulted in the design and implementation of the language PolyTOIL, a type safe object-oriented language with strong polymorphic features. LOOM is a direct descendant of PolyTOIL which omits subtyping in favor of a more flexible version of matching, including matching-based subsumption. We give an overview of LOOM and of a prototype interpreter for the language. Proofs of th...
Foundations of Object-Oriented Languages
- ACM SIGPLAN Not
, 1994
"... Data Types (ADTs) and objects in ObjectOriented Languages (OOLs) [9]. He argued that although both are based on the idea of data abstraction, they are fundamentally different. In short, an ADT may be understood as a set with operations, whereas objects are sets of operations. In an ADT, abstraction ..."
Abstract
- Add to MetaCart
Data Types (ADTs) and objects in ObjectOriented Languages (OOLs) [9]. He argued that although both are based on the idea of data abstraction, they are fundamentally different. In short, an ADT may be understood as a set with operations, whereas objects are sets of operations. In an ADT, abstraction is achieved by hiding the type of the representation. This hiding is often modeled using an existential quantifier. In OOLs, abstraction is achieved by letting the operations themselves represent the data. The interfaces of the operations need not have any direct relation to the underlying representation at all. One of the consequences of the above is that in an ADT, recursion is seldomly needed in the interface (although it may well be used in the representation). In OOLs, recursion is often essential to the interface. Thus, recursion should be central in models of OOLs. Dinesh Katiyar: Interfaces and typed OOP. Katiyar presented a type system featuring bounded existential quantification...
Foundations of Object-Oriented Languages
- ACM SIGPLAN Not
, 1994
"... Data Types (ADTs) and objects in ObjectOriented Languages (OOLs) [9]. He argued that although both are based on the idea of data abstraction, they are fundamentally different. In short, an ADT may be understood as a set with operations, whereas objects are sets of operations. ..."
Abstract
- Add to MetaCart
Data Types (ADTs) and objects in ObjectOriented Languages (OOLs) [9]. He argued that although both are based on the idea of data abstraction, they are fundamentally different. In short, an ADT may be understood as a set with operations, whereas objects are sets of operations.

