1998
DOI: 10.1007/bfb0053561
|View full text |Cite
|
Sign up to set email alerts
|

A polyvariant binding-time analysis for off-line partial deduction

Abstract: Abstract. We study the notion of binding-time analysis for logic programs. We formalise the unfolding aspect of an on-line partial deduction system as a Prolog program. Using abstract interpretation, we collect information about the run-time behaviour of the program. We use this information to make the control decisions about the unfolding at analysis time and to turn the on-line system into an off-line system. We report on some initial experiments.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
28
0

Year Published

2000
2000
2005
2005

Publication Types

Select...
8

Relationship

4
4

Authors

Journals

citations
Cited by 18 publications
(28 citation statements)
references
References 24 publications
0
28
0
Order By: Relevance
“…Determinacy inference can address this issue and it seems promising as a form of binding-time analysis in the so-called semi-online (or mixline) approach to program specialisation [13]. In this scheme, the usual static and dynamic polarisation that is used within classic binding-time analysis [4] is refined by adding an additional binding-type semi. As well as always unfolding a static call and never unfolding a dynamic call, the unfolding decision for a semi call is postponed until specialisation time.…”
Section: Introductionmentioning
confidence: 99%
“…Determinacy inference can address this issue and it seems promising as a form of binding-time analysis in the so-called semi-online (or mixline) approach to program specialisation [13]. In this scheme, the usual static and dynamic polarisation that is used within classic binding-time analysis [4] is refined by adding an additional binding-type semi. As well as always unfolding a static call and never unfolding a dynamic call, the unfolding decision for a semi call is postponed until specialisation time.…”
Section: Introductionmentioning
confidence: 99%
“…Offline approaches to local control of partial deduction on the other hand [38,22,23,10] have been very limited in other respects. Specifically, each atom in the body of a clause is marked as either reducible or non-reducible.…”
Section: Introductionmentioning
confidence: 99%
“…Such goals are very common in logic programming, and the key issue which needs to be considered is termination. A partial solution to this problem has been presented in [10], but it still sticks with the limited unfolding mentioned above and can "only" handle a certain class of partially instantiated data (data bounded wrt some semi-linear norm).…”
Section: Introductionmentioning
confidence: 99%
“…This means that all calls to built-ins are explicitly checked by the watchdog, and the filter errors are also caught and presented to the user. 5 Another common mistake relates to backpropagation of bindings [26] in the context of non-logical built-ins and connectives. Here the watchdog uses co-routining to detect those backpropagations.…”
Section: Methodsmentioning
confidence: 99%
“…The main difficulty lies in coming up with the correct annotations (and then maintaining them as the source program evolves). Indeed, while some errors (i.e., annotating an argument as static even though it is dynamic) can be easily identified by various abstract interpretation schemes (see, e.g., [5,8]), ensuring termination of the specialisation process is a major obstacle. Recent work has led to a fully automatic BTA [8], but unfortunately the BTA still only provides partial termination guarantees 2 ; is sometimes overly conservative, especially for the more involved (and more interesting) applications; and can be too costly to apply for larger, real-life Prolog programs.…”
Section: Introductionmentioning
confidence: 99%