Results 1 -
5 of
5
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 46 (12 self)
- Add to MetaCart
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 well-automated application of parts of the Burstall-Darlington 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.
Program specialisation and abstract interpretation reconciled
- In Joint International Conference and Symposium on Logic Programming
, 1998
"... We clarify the relationship between abstract interpretation and program specialisation in the context of logic programming. We present a generic top-down abstract specialisation framework, along with a generic correctness result, into which a lot of the existing specialisation techniques can be cast ..."
Abstract
-
Cited by 27 (13 self)
- Add to MetaCart
We clarify the relationship between abstract interpretation and program specialisation in the context of logic programming. We present a generic top-down abstract specialisation framework, along with a generic correctness result, into which a lot of the existing specialisation techniques can be cast. The framework also shows how these techniques can be further improved by moving to more refined abstract domains. It, however, also highlights inherent limitations shared by all these approaches. In order to overcome them, and to fully unify program specialisation with abstract interpretation, we also develop a generic combined bottom-up/top-down framework, which allows specialisation and analysis outside the reach of existing techniques. 1
Abstract conjunctive partial deduction using regular types and its application to model checking
- In Proc. of LOPSTR, number 2372 in LNCS
, 2001
"... Abstract. We present an abstract partial deduction technique which uses regular types as its domain and which can handle conjunctions, and thus perform deforestation and tupling. We provide a detailed description of all the required operations and present an implementation within the ecce system. We ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Abstract. We present an abstract partial deduction technique which uses regular types as its domain and which can handle conjunctions, and thus perform deforestation and tupling. We provide a detailed description of all the required operations and present an implementation within the ecce system. We discuss the power of this new specialisation algorithm, especially in the light of verifying and specialising infinite state process algebras. Here, our new algorithm can provide a more precise treatment of synchronisation and can be used for refinement checking. 1
Extending Partial Deduction to Tabled Execution: Some Results and Open Issues
, 1998
"... normally occur in Prologstyle SLD evaluation and avoids performing redundant subcomputations. As a result, tabling significantly extends the range of applications of logic programming (LP). Moreover, because of the better termination and complexity properties of tabled execution, tabled-based system ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
normally occur in Prologstyle SLD evaluation and avoids performing redundant subcomputations. As a result, tabling significantly extends the range of applications of logic programming (LP). Moreover, because of the better termination and complexity properties of tabled execution, tabled-based systems such as XSB [Sagohas et al. 1994] make a good first step in fulfilling the promise of declarativeness: allow a programmer to write problem specifications, and then use meaning-preserving transformations or use tabled execution selectively to turn these specifications into effective programs. 2. PARTIAL DEDUCTION AND TABLING So, tabling makes more specifications executable. Obviously, it is of great interest, that these specifications are executed efficiently. Partial evaluation [Jones et al. 1993; Jones 1996; Danvy et al. 1996] aims at exactly this: improve the performance by carrying out part of the program's execution (for input of a particular form) at Authors' address: Departement Co

