| | |
Summary: Using an Abstract Representation to Specialize
Functional Logic Programs ?
Elvira Albert 1 , Michael Hanus 2 , and Germ'an Vidal 1
1 DSIC, UPV, Camino de Vera s/n, E46022 Valencia, Spain
fealbert,gvidalg@dsic.upv.es
2 Institut f¨ur Informatik, CAU Kiel, Olshausenstr. 40, D24098 Kiel, Germany
mh@informatik.unikiel.de
Abstract. This paper introduces a novel approach for the specializa
tion of functional logic languages. We consider a maximally simplified
abstract representation of programs (which still contains all the neces
sary information) and define a nonstandard semantics for these pro
grams. Both things mixed together allow us to design a simple and con
cise partial evaluation method for modern functional logic languages,
avoiding several limitations of previous approaches. Moreover, since these
languages can be automatically translated into the abstract representa
tion, our technique is widely applicable. In order to assess the practi
cality of our approach, we have developed a partial evaluation tool for
the multiparadigm language Curry. The partial evaluator is written in
Curry itself and has been tested on an extensive benchmark suite (even
a metainterpreter). To the best of our knowledge, this is the first purely
|