The authors consider in detail one wellknown example of program transformation: the transformation of a naive string matcher by specializing it for a given specific pattern into an efficient algorithm known as KMP, and show that while supercompilation and generalized partial computation solve the problem, 'regular' partial evaluation and deforestation cannot do this without a non-trivial modification in the original unspecialized matcher.Expand

The technique can be viewed as an instance of Martens' and Gallagher's recent framework for global termination of partial deduction, but it is more general in some important respects, e.g. it uses well-quasi orderings rather than well-founded orderings.Expand

This work presents a variant of pure type systems, which it calls domain-free puretype systems, with domain- free λ-abstractions λx, and studies the basic properties of Domain-freepure type systems and establish their formal relationship with pureType systems.Expand

Description: The Curry-Howard isomorphism states an amazing correspondence between systems of formal logic as encountered in proof theory and computational calculi as found in type theory. For… Expand

The implementation has been tested on an extensive set of benchmarks which demonstrate that conjunctive partial deduction indeed pays off, surpassing conventional partial deduction on a range of small to medium-size programs, while remaining manageable in an automatic and terminating system.Expand

A safe, effective approximation of the notion of a redundant argument is given and several simple and efficient algorithms based on the approximative notion are described, illustrating the practical benefits of this approach.Expand

Turchin`s supercompiler is a program transformer that includes both partial evaluation and deforestation. Although known in the West since 1979, the essence of its techniques, its more precise… Expand

It is argued that both techniques achieve essentially the same transformational effect by unification-based information propagation by giving a translation from a functional language to a definite logic language preserving certain properties.Expand

This paper gives an introduction to Turchin's supercompiler, a program transformer for functional programs which performs optimizations beyond partial evaluation and deforestation. More precisely,… Expand