CW 255

Michael Leuschel
Proceedings of the International Workshop on Specialization of Declarative Programs and its Applications

Abstract

Workshop Description: Program specialization, also called partial evaluation, partial deduction or supercompilation, is an automatic tool for program optimization, similar in concept to, but in several ways stronger than highly optimizing compilers. The central idea is to specialize a given source program for a particular application domain. This is (mostly) done by a well-automated application of parts of the Burstall and Darlington unfold/fold transformation framework. Program specialization encompasses traditional compiler optimization techniques, such as constant folding and in-lining used in compilers, but uses more aggressive transformations, yielding both (much) greater speedups and more difficulty in controlling the transformation process. Program specialization can be used to speed up existing programs for certain application domains, sometimes achieving speedups of several orders of magnitude. It however also allows the user to write programs at a higher level using a more secure, readable and maintainable style. The program specializer then takes care of transforming this readable, but inefficient program into an efficient one. Declarative programming languages, are high-level programming languages in which one only has to state what is to be computed and not necessarily how it is to be computed. Because of their clear (and often simple) semantical foundations, declarative languages offer significant advantages for the design of semantic based program analyzers, transformers and optimizers. The aim of this workshop is to discuss new trends, ideas and developments concerning the specialization of declarative languages, especially geared towards trying to exploit the advantages of these languages in practice. The workshop is thereby not limited to the field of logic programming - contributions from other fields involved with the declarative programming paradigm, like e.g. functional programming, will be presented and cross-fertilization is sought.

mailto: M. Leuschel