## Specialization of Inductively Sequential Functional Logic Programs (1999)

### Cached

### Download Links

- [www.dsic.upv.es]
- [www.dsic.upv.es]
- [www.informatik.uni-kiel.de]
- [www.informatik.uni-kiel.de]
- DBLP

### Other Repositories/Bibliography

Citations: | 21 - 11 self |

### BibTeX

@MISC{Alpuente99specializationof,

author = {María Alpuente and Michael Hanus and Salvador Lucas and Germán Vidal},

title = {Specialization of Inductively Sequential Functional Logic Programs},

year = {1999}

}

### OpenURL

### Abstract

Functional logic languages combine the operational principles of the most important declarative programming paradigms, namely functional and logic programming. Inductively sequential programs admit the definition of optimal computation strategies and are the basis of several recent (lazy) functional logic languages. In this paper, we define a partial evaluator for inductively sequential functional logic programs. We prove strong correctness of this partial evaluator and show that the nice properties of inductively sequential programs carry over to the specialization process and the specialized programs. In particular, the structure of the programs is preserved by the specialization process. This is in contrast to other partial evaluation methods for functional logic programs which can destroy the original program structure. Finally, we present some experiments which highlight the practical advantages of our approach.

### Citations

941 | T.: Term Rewriting and All That - Baader, Nipkow - 1999 |

751 | Rewrite systems - Dershowitz, Jouannaud - 1992 |

639 | Partial Evaluation and Automatic Program Generation. Available online: http://www.itu.dk/people/sestoft/pebook - Jones, Gomard, et al. - 1993 |

570 | A Transformation System for Developing Recursive Programs - Burstall, Darlington - 1976 |

565 | Term Rewriting Systems - Klop - 1992 |

536 | The Implementation of Functional Programming Languages - Jones - 1987 |

400 | Deforestation: Transforming programs to eliminate trees - Wadler - 1990 |

333 | Functional Logic Programming: From Theory to Curry - Hanus |

290 | On completeness of narrowing strategies - Echahed - 1988 |

239 | Partial evaluation in logic programming - Lloyd, Shepherdson - 1991 |

236 | Tutorial notes on partial evaluation - Consel, Danvy - 1993 |

166 | Canonical forms and unification - Hullot - 1980 |

156 | Logic Programming with Functions and Predicates: The language Babel - Moreno-Navarro, Rodríguez-Artalejo - 1992 |

151 | Definitional trees - Antoy - 1992 |

145 | Tutorial on specialisation of logic programs - Gallagher - 1993 |

140 | A Unified Computation Model for Functional and Logic Programming - Hanus - 1997 |

129 | Eekelen. Functional Programming and Parallel Graph Rewriting - Plasmeijer, van - 1993 |

119 | Functional Programming - Field, Harrison - 1988 |

110 | Narrowing as the operational semantics of functional languages", Unpublished report - Reddy - 1985 |

104 | Kernel Leaf: A Logic plus Functional Language - Giovannetti, Levi, et al. - 1991 |

95 | A Demand Driven Computation Strategy for Lazy Narrowing - Loogen, López-Fraguas, et al. - 1993 |

84 | Computations in orthogonal rewriting systems - Huet, Lévy - 1991 |

80 | Narrowing-driven partial evaluation of functional logic programs
- Alpuente, Falaschi, et al.
- 1996
(Show Context)
Citation Context ...ies are overlooked. A unified (narrowing-based) treatment can bring the different methodologies closer and lays the ground for new insights in all three fields [5, 6, 23, 44, 49]. Narrowing-driven PE =-=[4, 5]-=- is the first generic algorithm for the (on-line) specialization of functional logic programs. The method is parametric w.r.t. the narrowing strategy which is used for the automatic construction of th... |

76 | Higher-Order Narrowing with Definitional Trees - Hanus, Prehofer - 1999 |

72 | Automated Theorem-Proving for Theories with Simpli ers - Slagle - 1974 |

50 | The ecce partial deduction system and the dppd library of benchmarks. Available via http://www.cs.kuleuven.ac.be/~lpai - Leuschel |

46 | Parallel Evaluation Strategies for Functional Logic Languages - Antoy, Echahed, et al. - 1997 |

44 | Partial Deduction and Driving are Equivalent - Glück, Sørensen - 1994 |

36 | Lazy Narrowing in a Graph Machine - Kuchen, Loogen, et al. - 1990 |

35 | Specialization of Lazy Functional Logic Programs
- Alpuente, Falaschi, et al.
- 1997
(Show Context)
Citation Context ...an inductively sequential program and S a finite set of operation-rooted terms. Then each NNPE of R w.r.t. S is inductively sequential. 4.1 Needed-PE vs. Lazy-PE The correctness of LN-PE is stated in =-=[1, 3]-=- for orthogonal programs (i.e., programs without overlapping lefthand sides). In the following we show that the partial evaluation w.r.t. needed narrowing can also be obtained (but possibly with more ... |

33 | A Self-Applicable Partial Evaluator for Term Rewriting Systems - Bondorf - 1989 |

33 | A Roadmap to Metacomputation by Supercompilation - Glück, Sørensen - 1996 |

30 | Efficient Translation of Lazy Functional Logic Programs into Prolog - Hanus - 1995 |

30 | de Waal. A conceptual embedding of folding into partial deduction: Towards a maximal integration - Leuschel, Schreye, et al. - 1996 |

28 | Program transformation - Darlington |

27 | Strongly Sequential and Inductively Sequential Term Rewriting Systems - Hanus, Lucas, et al. - 1998 |

25 | Deductive and Inductive Synthesis of Equational Programs - Dershowitz, Reddy - 1993 |

23 | Constraint-based Partial Evaluation of Rewritingbased Functional Logic Programs - Lafave, Gallagher - 1997 |

23 | A positive supercompiler - Srensen, Gluck, et al. - 1996 |

21 | A Comparative Revisitation of Some Program Transformation Techniques - Pettorossi, Proietti - 1996 |

19 | Indy User’s Manual
- Albert, Alpuente, et al.
- 1998
(Show Context)
Citation Context ... better specialization times. 5 Experimental Results A partial evaluator for functional logic programs based on needed narrowing as well as on lazy narrowing has been implemented in the Indy system 5 =-=[2]-=- in order to compare the run time of the partial evaluator and the effects of both narrowing strategies on the specialized programs. We have measured the improvements by some experiments which we summ... |

19 | strongly sequential and forward-branching term rewriting systems - Bounded - 1994 |

17 | Improving Control in Functional Logic Program Specialization
- Albert, Alpuente, et al.
- 1998
(Show Context)
Citation Context ...ing-driven PE has the same potential for specialization as positive supercompilation of functional programs [23] and conjunctive partial deduction of logic programs [39] (a comparison can be found in =-=[1, 5, 6]-=-). To perform reductions at specialization time, a partial evaluator normally includes an interpreter [15, 24]. This implies that the power of the transformation is highly influenced by the properties... |

15 | Specialization of functional logic programs based on needed narrowing
- Alpuente, Lucas, et al.
- 2005
(Show Context)
Citation Context ...s of the transformation. Section 5 shows the practical importance of our specialization techniques by means of some benchmarks and Section 6 concludes. Proofs of all technical results can be found in =-=[7]-=-. 2 Preliminaries Term rewriting systems (TRSs) provide an adequate computational model for functional languages which allow the definition of functions by means of patterns (e.g., Haskell, Hope or Mi... |

14 | A Unifying View of Functional and Logic Program Specialization - Alpuente, Falaschi, et al. - 1998 |

14 | A comparative analysis of partial deductors for pure Prolog - Lam, Kusalik - 1990 |

10 | Denotational Abstract Interpretation of Functional Logic Programs - Zartmann - 1997 |

6 | ASTRE: Towards a Fully Automated Program Transformation System - Bellegarde - 1995 |

5 | Squeezing Intermediate Construction in Equational Programs - Miniussi, Sherman - 1996 |