Partial Evaluation - Practice and Theory (2.CFP)

     DIKU International Summer School '98:

  | Partial Evaluation - Practice and Theory |
  |        June 29 - July 10, 1998           |

Organizing Committee
  Neil D. Jones 
  Jesper J{\o}rgensen 
  Jens Peter Secher 
  Morten Heine B. S{\o}rensen (chair, rambo@diku.dk)

Program specialization, also known as partial evaluation, is an
automatic tool for program optimization, similar in concept to but in
several ways stronger than a highly optimizing compiler. It is a
source-to-source staging transformation: a program $p$ together with
partial data $s$ are transformed into an often faster specialized
version $p_s$ by precomputing parts of $p$ that depend only on $s$.
The possibility, in principle, of partial evaluation is contained in
Kleene's classical s-m-n theorem.

Specialization is worthwhile when $p$ runs for a long time, and $p_s$
is significantly faster than $p$. Suitable problem types include:
Highly parameterized computations that use much time consulting
parameters, but are often run using the same parameter settings;
programs with many similar subcomputations; programs of a highly
interpretive nature, e.g., circuit and other simulators,
where specialization removes the time to scan the object being
simulated; database query search algorithms; and meta-programming,
where a problem is solved by designing a user-oriented language and an
interpreter for it.

Partial evaluators have been successfully applied to generate
efficient specialized programs for ray tracing, for the Fast Fourier
transform, and for circuit and planetary simulations. Partial
evaluators have also been used to compile using interpreters for
programming languages and to generate compilers from interpreters.

The DIKU International Summer School '98 on Partial
Evaluation offers a practical introduction to several existing partial
evaluators, including the opportunity for guided hands-on experience,
as well as the presentation of some more sophisticated theory,
systems, and applications. Lectures will be given by some of the
leading researchers in the field.

The summer school runs for two weeks. The first week is practically
oriented, focusing on a number of partial evaluation systems, mainly
developed at DIKU. The second week combines practical
experience with more sophisticated theory, systems, and applications.
It is possible to follow each of the two weeks on its own.

Lectures and Topics
Torben Mogensen          Introduction, applications, inherited limits
John Hatcliff            Foundations of PE and program specialization
Jens Peter Secher        C-mix
Jesper J{\o}rgensen      Similix
Lennart Augustsson       PE for aircraft crew scheduling
Neil Jones               Lambda-mix
Satnam Singh             Hardware specialization
Jesper J{\o}rgensen &    Multi-level specialization
Robert Gl{\"u}ck 
Morten H. B. S{\o}rensen Supercompilation
John Hughes              Type specialization
Michael Leuschel         Advanced logic program specialization
Julia Lawall             Specialization of an implementation of the FFT
Jens Palsberg            Eta-redexes
Olivier Danvy            Type-directed partial evaluation
Peter Thiemann           Aspects of the PGG system

Deadline for registration
May 29, 1998