Designing and implementing generic software components using design patterns like proxy and facade [Gamma et al. 1994] is commonly advocated in most application areas. Design patterns and genericity are language design techniques created to provide better semantic abstractions boundaries. However, most programming language implementations have give very little support to techniques that remove these abstraction boundaries to the extent necessary to permit efficient execution. We present a general technique for optimization of Java programs that use any sort of data and/or behavior delegation. We define a group of basic program transformations that preserve the program semantics. They provide a foundation for more complex program transforma...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
This chapter describes an extended compiler that formalizes patterns, which we call a pattern enforc...
A powerful feature of the Java programming language is its user-definable class loading policy, whic...
Abstract. Automatic program specialization can derive efficient implementations from generic compone...
This project describes and discusses the concepts of design patterns giving a historical background ...
The object-oriented style of programming facilitates program adaptation and enhances program generic...
: Automatic program specialization can derive efficient implementations from generic components, thu...
Operations on data can be classified as either queries or updates. Modern object-oriented program-mi...
The object-oriented style of programming facilitates program adaptation and enhances program generic...
Software design is informed by proven patterns and approaches. Several software design patterns have...
This paper presents a strategy, called almost-whole-program compilation, for extending the benefits ...
We present GJ, a design that extends the Java programming language with generic types and methods. T...
Abstract. Aggressive optimization of programs often relies on analysis and trans-formation that cuts...
Design patterns, acting actually as recurring solutions to common problems, offer significant benefi...
Design patterns are standard solutions to common design problems. The famous Gang of Four book descr...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
This chapter describes an extended compiler that formalizes patterns, which we call a pattern enforc...
A powerful feature of the Java programming language is its user-definable class loading policy, whic...
Abstract. Automatic program specialization can derive efficient implementations from generic compone...
This project describes and discusses the concepts of design patterns giving a historical background ...
The object-oriented style of programming facilitates program adaptation and enhances program generic...
: Automatic program specialization can derive efficient implementations from generic components, thu...
Operations on data can be classified as either queries or updates. Modern object-oriented program-mi...
The object-oriented style of programming facilitates program adaptation and enhances program generic...
Software design is informed by proven patterns and approaches. Several software design patterns have...
This paper presents a strategy, called almost-whole-program compilation, for extending the benefits ...
We present GJ, a design that extends the Java programming language with generic types and methods. T...
Abstract. Aggressive optimization of programs often relies on analysis and trans-formation that cuts...
Design patterns, acting actually as recurring solutions to common problems, offer significant benefi...
Design patterns are standard solutions to common design problems. The famous Gang of Four book descr...
Type-directed programming is an important and widely used paradigm in the design of software. With t...
This chapter describes an extended compiler that formalizes patterns, which we call a pattern enforc...
A powerful feature of the Java programming language is its user-definable class loading policy, whic...