From: Jurgen Vinju To: Date: Fri, 5 Nov 2004 13:09:53 +0100 Subject: PEM: Eelco Visser (OGI) | Building Program Optimizers with Rewriting Strategies | 12.05.98 From: pem (PEM moderator) To: pem-noreply Subject: PEM meeting | 12.05.98 | M280 CWI Precedence: bulk X-url: http://www.cwi.nl/~pem Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Dear Environmentalists, Next week, Eelco Visser will be visiting us from Portland. Because he will be here one week, and he would like to discuss his work with various people here, he asked to give a talk at the beginning of the week. Therefor, next week's PEM wil be at TUESDAY, not Thursday. Here's the abstract: This announcement can be found at Building Program Optimizers with Rewriting Strategies Date: 12.05.98 Time: 10:00 Venue: M280 CWI Speaker: Eelco Visser (OGI) Title: Building Program Optimizers with Rewriting Strategies [joint work with Zino Bennaissa (OGI), Andrew Tolmach (PSU/OGI)] In this talk I describe a language for defining term rewriting strategies, and its application to the production of program optimizers. Valid transformations on program terms can be described by a set of rewrite rules; rewriting strategies are used to describe when and how the various rules should be applied in order to obtain the desired optimization effects. Separating rules from strategies in this fashion makes it easier to reason about the behavior of the optimizer as a whole, compared to traditional monolithic optimizer implementations. I illustrate the expressiveness of the language by using it to describe a simple optimizer for an ML-like intermediate representation. The basic strategy language uses operators such as sequential composition, choice, and recursion to build transformers from a set of labeled unconditional rewrite rules. We also define an extended language in which the side-conditions and contextual rules that arise in realistic optimizer specifications can themselves be expressed as strategy-driven rewrites. We show that the features of the basic and extended languages can be expressed by breaking down the rewrite rules into their primitive building blocks, namely matching and building terms in restricted environments. This primitive representation forms the basis of a simple implementation that generates C code. _________________________________________________________________ The programming environment meetings are a forum for the presentation and discussion of new ideas, ongoing and finished work. A typical meeting addresses a subject in the area of programming environments, program generation, algebraic specification, term rewriting, parsing, etc. A presentation ideally takes between 45 and 90 minutes. Meetings taking longer than 45 minutes are interrupted by a coffeebreak. Most Thursdays, a meeting is held which starts at 10:00 am. in one of the rooms at CWI/WINS. Exceptionally, dates or times may change. The program of the meetings is available on WWW: http://www.cwi.nl/~pem _________________________________________________________________