@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