Results 1 -
7 of
7
Contextual Polymorphism
, 1994
"... Programming languages often provide for various sorts of static type checking as a way of detecting invalid programs. However, statically checked type systems often require unnecessarily specific type information, which leads to frustratingly inflexible languages. Polymorphic type systems restore fl ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Programming languages often provide for various sorts of static type checking as a way of detecting invalid programs. However, statically checked type systems often require unnecessarily specific type information, which leads to frustratingly inflexible languages. Polymorphic type systems restore flexibility by allowing entities to take on more than one type. This thesis discusses polymorphism in statically typed programming languages. It provides precise definitions of the term "polymorphism" and for its varieties, "ad-hoc polymorphism", "universal polymorphism", "inclusion polymorphism", and "parametric polymorphism", and surveys and compares many existing mechanisms for providing polymorphism in programming languages. Finally, it introduces a new polymorphism mechanism, contextual polymorphism. Contextual polymorphism is a variant of parametric polymorphism that is based on contexts, which are abstractions of collections of declarations, and assertions, which link polymorphic routin...
Enforcing Resource Usage Protocols via Scoped Methods
- In Int. Workshop on Foundations of Object-Oriented Languages
, 2003
"... Traditional modularity mechanisms such as Java's classes and packages or ML's structures and functors restrict the set of functions that may be applied to an object, but are unable to restrict the timing of these function applications e#ectively. We propose a new language construct, the scoped metho ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Traditional modularity mechanisms such as Java's classes and packages or ML's structures and functors restrict the set of functions that may be applied to an object, but are unable to restrict the timing of these function applications e#ectively. We propose a new language construct, the scoped method, which allows the implementer of a class to specify a temporal resource usage protocol. This protocol limits the sequence of methods that may be applied to an object. For example, a protocol for file access might specify that the file must be opened, read or written some number of times, and then closed. We present a type-based analysis to enforce the protocol and prove its correctness.
MOODS: A Multimedia Information Modeling System
- In Workshop on Database Systems, ACM Multimedia
, 1994
"... Unlike alphanumeric data, multimedia data contains embedded information which must be extracted and interpreted before it can be used or queried. Our goal is to explore new data models that are capable of representing and processing multimedia data. We propose a new object-oriented data modeling app ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Unlike alphanumeric data, multimedia data contains embedded information which must be extracted and interpreted before it can be used or queried. Our goal is to explore new data models that are capable of representing and processing multimedia data. We propose a new object-oriented data modeling approach called MOODS (Modeling Object-Oriented Data Semantics) that integrates the multimedia data processing component of an information management system with the data modeling technique. MOODS supports three new abstractions that distinguish it from ordinary object-oriented data modeling techniques: dynamic data semantics, function groups, and composition. This paper describes the MOODS approach and shows how the approach can be applied to a pictorial information system. 1 Introduction Historically, a primary role of computers has been to manage data, in particular, alpha-numeric data consisting of numbers and characters. However, recent hardware and software advances have created a wide...
A User Interface Framework for Object-Oriented Database Systems
, 1990
"... Peter Sawyer B.Sc. A User Interface Framework for Object-Oriented Database Systems Submitted for the degree of Ph.D. March 1990 Object-oriented database systems (OODBs) provide support for applications which manipulate semantically rich entities of varying granularity. Many existing commercial ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Peter Sawyer B.Sc. A User Interface Framework for Object-Oriented Database Systems Submitted for the degree of Ph.D. March 1990 Object-oriented database systems (OODBs) provide support for applications which manipulate semantically rich entities of varying granularity. Many existing commercial database systems provide direct manipulation tools which permit users to access database entities and generate applications. Users of OODBs also require sophisticated tools, but the database entities manipulated are of less uniform structure and semantics. The work reported in this thesis has developed a model of a user interface framework for OODBs. The model exploits objects' encapsulation of data (attributes) and operations (methods). It is based on an abstraction from objects to dynamic forms; attributes are represented as fields and methods are represented as graphical buttons. Forms are dynamic because they reflect the functional properties of their underlying objects. A prototype sy...
Inheritance vs. delegation: Is one better than the other?
"... In this paper I will discuss the differences between inheritance based systemsand delegation based systems. Specifically, I would like to discuss the way objects are organized in both systems, the way inheritance is implemented, how the self variable is treated and I would like to discuss the advant ..."
Abstract
- Add to MetaCart
In this paper I will discuss the differences between inheritance based systemsand delegation based systems. Specifically, I would like to discuss the way objects are organized in both systems, the way inheritance is implemented, how the self variable is treated and I would like to discuss the advantages and disadvantages of both language types. 1 Introduction Inheritance based systems split the objects up into classes. Classes describe the shared behaviour of a set of objects. A new object is instantiated from the class and has no correspondance to other objects of the same class except for the class object. If some class shares behaviour with another class but has some peculiarities, a subclass is created which inherits the shared behaviour from the superclass. An object in a prototype based system represents the default behaviour of an object. If a new object has a different behaviour, a new object is created which describes its differences from the prototype object [3]. In this pap...
Issues in the Design of an . . .
- STRUCTURED PROGRAMMING
, 1991
"... The object oriented paradigm, which advocates bottom-up program development, appears at first sight to run counter to the classical, top-down approach of structured programming. The deep requirement of structured programming, however, is that programming should be based on well-defined abstractions ..."
Abstract
- Add to MetaCart
The object oriented paradigm, which advocates bottom-up program development, appears at first sight to run counter to the classical, top-down approach of structured programming. The deep requirement of structured programming, however, is that programming should be based on well-defined abstractions with clear meaning rather than on incidental characteristics of computing machinery. This requirement can be met by object oriented programming and, in fact, object oriented programs may have better structure than programs obtained by functional decomposition. The definitions of the basic components of object oriented programming, object, class, and inheritance, are still sufficiently fluid to provide many choices for the designer of an object oriented language. Full support of objects in a typed language requires a number of features, including classes, inheritance, genericity, renaming, and redefinition. Although each of these features is simple in itself, interactions between features can...

