Thu Apr 4, 2007, 4:15-5:30, 3400 Boelter Hall Extensible Programming and Specification Languages Eric Van Wyk University of Minnesota Abstract: This talk describes our research in extensible languages. This work begins with the realization that programming languages and programming tasks are rarely a perfect fit: a program can often be clarified by using a number of domain-specific language features tailored to the task at hand. These features typically do not exist in general purpose languages and one approach to making such high-level features available is extensible languages. An extensible programming language allows a programmer to import into her extensible host programming language the unique combination of language features that raise the level of abstraction of the language to that of the problem domain. These features may be (i) new language constructs or notations describing high-level abstractions in a domain, (ii) semantic analyses that, for example, check that the programmer has used the new language constructs correctly, or (iii) optimizing program transformations that rewrite a program into a more efficient form. This imperfect fit between languages and tasks also exists in the realm of software specification languages and thus we are also interested in extensibility as it applies to specification and modeling languages. We will cover higher-order attribute grammars extended with forwarding; this is the underlying language processing mechanism our extensible compiler frameworks employ to build extensible programming and specification languages. We also demonstrate these ideas with prototype extensible specifications of Java and Lustre. Bio: Eric Van Wyk is an Assistant Professor in the Computer Science and Engineering department at the University of Minnesota. He received his Ph.D. from the University of Iowa in 1998 and was a post-doctoral researcher in the Computing Laboratory at Oxford University before joining the University of Minnesota in 2002. His research interests include extensible programming and modeling languages and the extensible compiler frameworks that implement such languages. He is also interested in declarative specification of program optimizations and techniques for proving their correctness. Dr. Van Wyk is a 2005-2007 McKnight Land-Grant Professor and a recipient of an NSF CAREER Award. Host: Jens Palsberg