Abstract:
The paper describes the internal structure of HOSC, an experimental supercompiler dealing with programs written in a higher-order functional language (a subset of Haskell). A detailed and formal account is given of the concepts and algorithms the supercompiler is based upon. Particular attention is paid to the problems related to generalization and homeomorphic embedding of expressions with bound variables.
Key words and phrases:supercompilation, program analysis, functional programming.