MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Realistic Program Specialization in a Multi-Paradigm Language

Download:
Download as a PDF | Download as a PS
by Elvira Albert, Michael Hanus
http://www.dsic.upv.es/~wflp2000/paper05.ps.gz
Add To MetaCart

Abstract:

Abstract. This paper introduces a novel approach for the specialization of functional logic languages. We consider a maximally simplified abstract representation of programs (which still contains all the necessary information) and define a non-standard semantics for these programs. Both things mixed together allow us to design a simple and concise partial evaluation method for modern functional logic languages, avoiding several limitations of previous approaches. representation, our technique is widely applicable. In order to assess the practicality of our approach, we have developed a partial evaluation tool for the multi-paradigm language Curry. The partial evaluator is written in Curry itself and has been tested on an extensive benchmark suite (even a meta-interpreter). To the best of our knowledge, this is the first purely declarative partial evaluator for a functional logic language. 1

Citations

722 Rewrite systems – Dershowitz, Jouannaud - 1990
552 Partial evaluation and automatic program generation – Jones, Gomard, et al. - 1993
366 Deforestation: Transforming programs to eliminate trees – Wadler - 1988
333 The integration of functions into logic programming: from theory to practice – Hanus - 1994
288 M.: A needed narrowing strategy – Antoy, Echahed, et al. - 2000
242 Tutorial notes on partial evaluation – Consel, Danvy - 1993
231 C.: Partial Evaluation in Logic Programming – Lloyd, Shepherdson - 1991
144 Tutorial on specialisation of logic programs – Gallagher - 1993
135 Definitional trees – Antoy - 1992
133 A unified computation model for functional and logic programming – Hanus - 1997
77 Narrowing-driven partial evaluation of functional logic programs – Alpuente, Falaschi, et al. - 1996
70 Higher-Order Narrowing with Definitional Trees – Prehofer - 1997
62 A positive supercompiler – Sorenson, Gluck, et al. - 1996
55 A general criterion for avoiding infinite unfolding during partial deduction – Bruynooghe, Schreye, et al. - 1992
53 An Algorithm of Generalization in Positive Supercompilation – Sørensen, Glück - 1995
47 On the Power of Homeomorphic Embedding for Online Termination – Leuschel - 1998
43 Distributed programming in a multi-paradigm declarative language – Hanus - 1702
35 A Roadmap to Metacomputation by Supercompilation – Gluck, Srensen - 1996
33 A Self-Applicable Partial Evaluator for Term Rewriting Systems – Bondorf - 1989
23 Indy User's Manual – Albert, Alpuente, et al. - 1998
17 Using an Abstract Representation to Specialize Functional Logic Programs – Albert, Hanus, et al. - 1955
13 A Constraint-based Partial Evaluator for Functional Logic Programs and its Application – Lafave - 1998
12 A Self-Applicable Supercompiler – Nemytykh, Pinchuk, et al. - 1991
6 A Partial Evaluation Framework for Curry Programs – Albert, Alpuente, et al. - 1705