@techreport{HDCreport,
author={Christoph Armin Herrmann and Christian Lengauer
and Robert Günz and Jan Laitenberger
and Christian Schaller},
title={A Compiler for {HDC}},
institution={Fakultät für Mathematik und Informatik,
Universität Passau},
number={MIP-9907},
month=may,
year=1999,
abstract=
We present a compiler for the functional language HDC,
which aims at the generation of efficient code from high-level
programs. HDC, which is syntactically a subset of the widely used
language Haskell, facilitates the clean integration of skeletons with
a predefined efficient parallel implementation into a functional
program. Skeletons are higher-order functions which represent program
schemata that can be specialized by providing customizing
functions as parameters. The only restriction on customizing functions
is their type. Skeletons can be composed of skeletons again.
With HDC, we focus on the divide-and-conquer
paradigm, which has a high potential for an efficient parallelization.
We describe the most important phases of the compiler: desugaring,
elimination of higher-order functions, generation of an optimized
directed acyclic graph and code generation, with a focus on
the integration of skeletons. The effect of the transformations on the
target code is demonstrated on the examples of polynomial product and
frequent set.
}
Christoph Herrmann