Abstract—Subtype polymorphism is a cornerstone of object-oriented programming. By hiding variability in behavior be-hind a uniform interface, polymorphism decouples clients from providers and thus enables genericity, modularity and extensi-bility. At the same time, however, it scatters the implementation of the behavior over multiple classes thus potentially hampering program comprehension. The extent to which polymorphism is used in real programs and the impact of polymorphism on program comprehension are not very well understood. We report on a preliminary study of the prevalence of polymorphism in several hundred open source software systems written in Smalltalk, one of the oldest object-oriented programming languages, and in Java, one o...
Abstract. Polyglot is an extensible compiler framework that supports the easy creation of compilers ...
We present short programs that demonstrate the unsoundness of Java and Scala's current type systems....
In this paper we seek to provide a foundation for the study of the level of use of objectoriented t...
Subtype polymorphism is a cornerstone of object-oriented programming. By hiding variability in behav...
In Java programming language as implemented in JDK 5.0 there appear rather advanced kinds of polymor...
This podcast examines the concept of polymorphism and demonstrates how polymorphism works in C#, Jav...
Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allow...
Type inference for structural polymorphism ---i.e. record and variant polymorphism--- has been an ac...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
Our objective is to understand the notion of type in programming languages, present a model of typed...
A low-level data structure always has a predefined representation which does not fit into an object ...
A low-level data structure always has a predefined representation which does not fit into an object ...
Our objective is to understand the notion of type in programming languages, present a model of typed...
In this paper we seek to provide a foundation for the study of the level of use of objectoriented t...
Abstract. Polyglot is an extensible compiler framework that supports the easy creation of compilers ...
We present short programs that demonstrate the unsoundness of Java and Scala's current type systems....
In this paper we seek to provide a foundation for the study of the level of use of objectoriented t...
Subtype polymorphism is a cornerstone of object-oriented programming. By hiding variability in behav...
In Java programming language as implemented in JDK 5.0 there appear rather advanced kinds of polymor...
This podcast examines the concept of polymorphism and demonstrates how polymorphism works in C#, Jav...
Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allow...
Type inference for structural polymorphism ---i.e. record and variant polymorphism--- has been an ac...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
Types have been used to describe the size and shape of data structures at compile time. In polymorph...
Our objective is to understand the notion of type in programming languages, present a model of typed...
A low-level data structure always has a predefined representation which does not fit into an object ...
A low-level data structure always has a predefined representation which does not fit into an object ...
Our objective is to understand the notion of type in programming languages, present a model of typed...
In this paper we seek to provide a foundation for the study of the level of use of objectoriented t...
Abstract. Polyglot is an extensible compiler framework that supports the easy creation of compilers ...
We present short programs that demonstrate the unsoundness of Java and Scala's current type systems....
In this paper we seek to provide a foundation for the study of the level of use of objectoriented t...