Results 1  10
of
10
Logic program specialisation through partial deduction: Control issues
 THEORY AND PRACTICE OF LOGIC PROGRAMMING
, 2002
"... Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial deduction, is to exploit partial knowledge about the input. It ..."
Abstract

Cited by 65 (13 self)
 Add to MetaCart
(Show Context)
Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial deduction, is to exploit partial knowledge about the input. It is achieved through a wellautomated application of parts of the BurstallDarlington unfold/fold transformation framework. The main challenge in developing systems is to design automatic control that ensures correctness, efficiency, and termination. This survey and tutorial presents the main developments in controlling partial deduction over the past 10 years and analyses their respective merits and shortcomings. It ends with an assessment of current achievements and sketches some remaining research challenges.
Conjunctive Partial Deduction: Foundations, Control, Algorithms, and Experiments
 J. LOGIC PROGRAMMING
, 1999
"... ..."
Conjunctive Partial Deduction in Practice
 Proceedings of the International Workshop on Logic Program Synthesis and Transformation (LOPSTR'96), LNCS 1207
, 1996
"... . Recently, partial deduction of logic programs has been extended to conceptually embed folding. To this end, partial deductions are no longer computed of single atoms, but rather of entire conjunctions; Hence the term "conjunctive partial deduction". Conjunctive partial deduction aims at ..."
Abstract

Cited by 27 (20 self)
 Add to MetaCart
(Show Context)
. Recently, partial deduction of logic programs has been extended to conceptually embed folding. To this end, partial deductions are no longer computed of single atoms, but rather of entire conjunctions; Hence the term "conjunctive partial deduction". Conjunctive partial deduction aims at achieving unfold/foldlike program transformations such as tupling and deforestation within fully automated partial deduction. However, its merits greatly surpass that limited context: Also other major efficiency improvements are obtained through considerably improved sideways information propagation. In this extended abstract, we investigate conjunctive partial deduction in practice. We describe the concrete options used in the implementation(s), look at abstraction in a practical Prolog context, include and discuss an extensive set of benchmark results. From these, we can conclude that conjunctive partial deduction indeed pays off in practice, thoroughly beating its conventional precursor on a wide...
Advanced Logic Program Specialisation
 In this volume
"... Declarative programming languages, are highlevel programming languages in which one only has to state what is to be computed and not necessarily how it is to be computed. Logic programming and functional programming are two prominent members of this class of programming languages. While functional ..."
Abstract

Cited by 20 (11 self)
 Add to MetaCart
(Show Context)
Declarative programming languages, are highlevel programming languages in which one only has to state what is to be computed and not necessarily how it is to be computed. Logic programming and functional programming are two prominent members of this class of programming languages. While functional programming is based on the calculus, logic
Programs without Failures
 Proceedings LOPSTR'97, Lecture Notes in Computer Science
, 1997
"... . We try to formalize the intuitive reasoning which we normally use to get convinced that a query has successful LDderivations in a program. To this purpose we define the class of programs and queries without failures which have the property of not having finitely failing derivations. Such property ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
(Show Context)
. We try to formalize the intuitive reasoning which we normally use to get convinced that a query has successful LDderivations in a program. To this purpose we define the class of programs and queries without failures which have the property of not having finitely failing derivations. Such property is simple to verify, it is preserved through leftmost unfolding and it can be useful both in verifying properties of logic programs and in program transformation. The class of programs without failures is very restricted but in program transformations it is sufficient that only some predicates in the program are in the class. Keywords and Phrases: finitely failing derivations, program transformation, program verification 1 Introduction Logic programming is a declarative paradigm. This pleasant characteristic allows one to ignore the computation and simply define which are its desired results. But, when queried through a Prolog interpreter, logic definitions are performed with backtracking...
Transformation of Left Terminating Programs
 PROCEEDINGS OF THE NINTH INTERNATIONAL WORKSHOP ON LOGICBASED PROGRAM SYNTHESIS, LOPSTR'99
, 2000
"... We propose an unfoldfold transformation system which preserves left termination for definite programs besides its declarative semantics. The system extends our previous proposal in [BCE95] by allowing to switch the atoms in the clause bodies when a specific applicability condition is satisfied. The ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We propose an unfoldfold transformation system which preserves left termination for definite programs besides its declarative semantics. The system extends our previous proposal in [BCE95] by allowing to switch the atoms in the clause bodies when a specific applicability condition is satisfied. The applicability condition is very simple to verify, yet very common in practice. We also discuss how to verify such condition by exploiting mode information.
A valuable experience in Computational Logic
 IN: IL MILIONE: A JOURNEY IN THE COMPUTATIONAL LOGIC IN ITALY
"... In this paper, we briefly describe our esperience in the field of verification and transformation of logic programming. Though now we are working in a completely different field, verification of security properties on one hand and biosystems analysis on the other, our previous experience continues ..."
Abstract
 Add to MetaCart
(Show Context)
In this paper, we briefly describe our esperience in the field of verification and transformation of logic programming. Though now we are working in a completely different field, verification of security properties on one hand and biosystems analysis on the other, our previous experience continues to be a valuable guide.
J. LOGIC PROGRAMMING 1999:41:233{277 233 CONJUNCTIVE PARTIAL DEDUCTION: FOUNDATIONS, CONTROL, ALGORITHMS, AND EXPERIMENTS
"... . Partial deduction in the LloydShepherdson framework cannot achieve certain optimisations which are possible by unfold/fold transformations. We introduce conjunctive partial deduction, an extension of partial deduction accommodating such optimisations, e.g., tupling and deforestation. We rst pres ..."
Abstract
 Add to MetaCart
(Show Context)
. Partial deduction in the LloydShepherdson framework cannot achieve certain optimisations which are possible by unfold/fold transformations. We introduce conjunctive partial deduction, an extension of partial deduction accommodating such optimisations, e.g., tupling and deforestation. We rst present a framework for conjunctive partial deduction, extending the LloydShepherdson framework by considering conjunctions of atoms (instead of individual atoms) for specialisation and renaming. Correctness results are given for the framework with respect to computed answer semantics, least Herbrand model semantics, and nite failure semantics. Maintaining the wellknown distinction between local and global control, we describe a basic algorithm for conjunctive partial deduction, and rene it into a concrete algorithm for which we prove termination. The problem of nding suitable renamings which remove redundant arguments turns out to be important, so we give an independent technique for this. A fully automatic implementation has been undertaken, which always ter