CAREER: Multi-stage Programming for Object-Oriented Languages
William Marsh Rice University, Houston TX
Investigators
Abstract
Proposal Number 0747431 TITLE CAREER: Multi-stage Programming for Object-Oriented Languages PI Walid Taha, Rice University Over the past decade, multi-stage programming (MSP) has emerged as a unifying approach that captures the disciplined essence program generation. Early work on MSP focused on purely functional languages. The goal of this proposal is to put what we know about MSP to work in the context of mainstream languages such as Java and C#. This will be achieved by means of carefully designed, minimal extensions that provide an expressive, statically checked mechanism for effectively eliminating the interpretive overhead. The project will design an object-oriented language that provides statically checked support for the writing of program generators. The language, called The Java Program Mint (Mint) will support: 1. Staging constructs that are statically checked before expansion/generation, 2. Indexed types, to enable further optimizations that are particularly synergistic with staging, and 3. Disciplined, statically typed compile-time computation. The design of Mint will be evaluated by establishing formal safety and expressivity results, and the implementation will be evaluated by building demonstration applications. The novel features of Mint will have the most impact on applications that use reflection and that constitute domain-specific language (DSL) extensions, such as serializers, JavaBeans customization facilities, and synchronization libraries.
View original record on NSF Award Search →