62 citations found. Retrieving documents...
C.S. Mellish. Some Global Optimizations for a Prolog Compiler. J. Logic Programming 2, 1 (Apr. 1985), pp.43-66.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Derivation of Efficient Logic Programs by.. - Pettorossi, Proietti, .. (2001)   (Correct)

....because there exists a value for X, namely 1, which is syntactically di erent from 0. However, p(1) does not succeed in P , because X and 0 are uni able terms. 2. 4 Deterministic Programs Various notions of determinism have been proposed for logic programs in the literature (see, for instance, [10, 18, 30, 42]) They capture various properties such as: the program succeeds at most once , or the program succeeds exactly once , or the program will never backtrack to nd alternative solutions . Let us now present the de nition of deterministic program used in this paper. This de nition is based on ....

C. S. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2(1):43-66, 1985.


An Analysis Technique for Extracting Determinacy in.. - Dawson..   (Correct)

....single analysis. Section 2 describes the determinacy analysis method in terms of a program transformation and success condition analysis. The latter is presented in Section 3 and forms the main part of this paper. Of previous approaches to exploiting determinacy, many rely on the presence of cuts [10, 15]. Such approaches can be viewed as making use only of determinacy information made explicit by the programmer. Others [5, 17, 18] use a limited notion of test predicates, as in the following example: p(X,Y) X Y, q(X,Y) p(X,Y) X = Y, r(X,Y) Here determinacy has not been made explicit by ....

....as a property of predicates; that is, a predicate is either determinate, non determinate, or perhaps unknown. The inference of determinacy is then viewed as the solution of a set of simultaneous equations over such a 2 or 3 valued set. The earliest examples of this approach are due to Mellish [10] and Sawamura and Takeshima [15] In both cases, determinacy is inferred only from simple mutual exclusion of clauses, with a heavy reliance on the presence of cuts. The notion of determinacy was generalized to that of functionality in similar methods by Debray and Warren [3] and Giacobazzi and ....

C.S. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2(1):43--66, 1985.


Constraint-based Termination Analysis of Logic Programs - Decorte, De Schreye.. (1999)   (7 citations)  (Correct)

....have been proposed in the literature. One of the simplest is modes. Modes distinguish between ground terms, uninstantiated terms and any possible term. As this is not part of the main focus of this article, we only present the basics on modes. More detailed information can be found e.g. in [Mellish 1985] or [Debray and Warren 1986] De nition 6.17 (mode of a predicate) Let P be a program and p=n be a predicate de ned in P . A mode for p=n is a mapping Constraint based Termination Analysis 29 m p : f1; ng fg; f; ag, where g; f; a are three constant symbols in a language di erent ....

Mellish, C. 1985. Some global optimizations for a Prolog compiler. Journal of Logic Programming 2, 1 (april).


Analysis of Nonlinear Constraints in CLP(R) - Hanus (1993)   (Correct)

....to constraint solving in the concrete domain. Most of the well known abstract interpretation algorithms for the derivation of groundness information of variables or mode information for predicates in logic programs use a small number of abstract values like ground, free or any (see, for instance, [21, 22, 3] or [17] for the case of CLP(R) Such a domain yields quite good results for many practical logic programs. But for constraint logic programming it must be refined since the possible reasons for the groundness of variables are much more complicated. For instance, the arithmetic constraint X=Y Z ....

C.S. Mellish. Some Global Optimizations for a Prolog Compiler. Journal of Logic Programming (1), pp. 43--66, 1985.


Towards the Global Optimization of Functional Logic Programs - Hanus (1994)   (Correct)

....modes, which is different from logic programs [35] and show possible compile time optimizations using these modes. We are not interested in low level code optimizations to improve primitive unification instructions since such techniques, which have been developed for pure logic programs (e.g. [24, 25, 31, 32, 33, 34, 35]) can be applied to functional logic programs as well due to the similarities between WAM based Prolog implementations and implementations of functional logic languages [12, 13, 23] We limit our discussion to optimizations which are unique to functional logic programs based on an eager ....

....the first argument is a ground term, the second argument is a free variable, and the third argument is an arbitrary term for all calls to predicate p. The mode information is useful to optimize the compiled code, i.e. to specialize the unification instructions and indexing scheme for a predicate [24, 25, 32, 34, 35]. Since functional logic languages are usually based on narrowing which uses unification to apply a function to a subterm, mode information could also be useful to 5 optimize functional logic programs. However, the notion of mode in functional logic programs is different from pure logic ....

[Article contains additional citation context not shown here]

C.S. Mellish. Some Global Optimizations for a Prolog Compiler. Journal of Logic Programming (1), pp. 43--66, 1985.


Set-Sharing is Redundant for Pair-Sharing - Bagnara, Hill, al. (1997)   (11 citations)  (Correct)

....sharing group S # for S # # S. Downward closed sharing sets can be e#ciently represented by means of the sets of their maximal elements. The resulting domain, called # JL, is, essentially, PS# Ground , where # denotes the reduced product and Ground is the simplest domain for groundness [44,50]. In fact, in # JL, ground dependencies and pair sharing dependencies are lost. To compensate this loss of precision, Fecht combines # JL with Pos and then with Lin, where Lin is the usual, simple domain for linearity. 8 For the analyses based on these combined domains, Fecht reports huge ....

C. S. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2(1):43--66, 1985.


A descriptive Mode Inference for Logic Programs - Ntienjem (1997)   (Correct)

....Our method can also be used to verify the consistency of user supplied mode declarations. Such a consistency verification for user supplied mode declarations is necessary because of errors which may be made by the user. One can use this mode inference to improve the efficiency of logic programs [2, 3, 4, 6, 9, 11, 12, 13, 16, 22] or to control the evaluation of logic programs [14] or to prove the completeness of SLDNF resolution for a large class of programs [20, 21] 3 Preliminaries and motivating examples Let V be a countably infinite set of variables, for each n 0 a countably infinite set F of function symbols be ....

....6 Descriptive mode inference The mode of an n ary predicate symbol with respect to a program represents statement about computations that are possible from it. From this claim mode information has been studied for the sake of making logic programs as efficient as functional or imperative ones [2, 3, 4, 6, 9, 11, 12, 13, 16, 22]. Our aim in this section is to automatically infer the mode of an n ary predicate symbol from a given logic program while conserving the mathematical intention of a relation. This is a descriptive mode inference. Hence, our interest is not focused on a syntactic mode declaration of logic ....

C. S. Mellish. Some global optimization for a prolog compiler. Journal of Logic Programming, 2(1):43--66, 1985.


The Integration of Functions into Logic Programming: A Survey - Hanus (1994)   (14 citations)  (Correct)

.... abstract machines, there are many possibilities to improve the current implementations of functional logic languages by applying optimization techniques for Prolog implementations (e.g. 29, 65, 126] However, more advanced compilation techniques which depend on a global analysis of the program [93, 125, 129] require the development of new program analysis methods for functional logic programs [60] 4 Conclusions The research on functional logic languages during the last decade has shown that functional and logic languages can be amalgamated without loosing the efficiency of current implementations ....

C.S. Mellish. Some Global Optimizations for a Prolog Compiler. Journal of Logic Programming (1), pp. 43--66, 1985. 45


A hierarchy of Constraint Systems for Data-Flow Analysis of.. - Bagnara (1996)   (3 citations)  (Correct)

....elements be given, for each X; Y 2 Vars of the same cardinality, by d X Y def = ae i f i ( X) ff i ( Y ) j 1 i # X g j : The resulting domain (a closed and Noetherian d.c.s. is the simplest one for definiteness analysis, and it was used in early groundness analyzers [31,29]. The name Con comes from the fact that elements of the form fX 1 ; X n g 22 are usually regarded as the conjunction X 1 Delta Delta Delta X n , meaning that X 1 , X n are definitely bound to a unique value. In this view Omega corresponds to logical conjunction. Con is a ....

C. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2:43--66, 1985.


A hierarchy of Constraint Systems for Data-Flow Analysis of.. - Bagnara (1999)   (3 citations)  (Correct)

....be given, for each X, Y # Vars # of the same cardinality, by d X Y def = # # # i ( X) # # i ( Y ) 1 # i # # X # . The resulting domain (a closed and Noetherian d.c.s. is the simplest one for definiteness analysis, and it was used in early groundness analyzers [32,30]. The name Con comes from the fact that elements of the form X 1 , X n 22 are usually regarded as the conjunction X 1 # #X n , meaning that X 1 , X n are definitely bound to a unique value. In this view # corresponds to logical conjunction. Con is a very weak domain ....

C. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2:43--66, 1985.


Factorizing Equivalent Variable Pairs in ROBDD-Based.. - Bagnara, Schachte (1998)   (10 citations)  (Correct)

....2 Preliminaries Let U be a set. The set of all subsets of U will be denoted by (U ) The set of all finite subsets of U will be denoted by f (U ) The notation S f T stands for S 2 f (T ) 2. 1 Boolean Functions for Groundness Analysis After the early approaches to groundness analysis [14, 12], which suffered from serious precision drawbacks, the use of Boolean functions [10, 13] has become customary in the field. The reason is that Boolean functions allow to capture in a very precise way the groundness dependencies that are implicit in unification constraints such as z = f(g(x) y) ....

C. S. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2(1):43--66, 1985.


Straight ROBDDS are not the Best for Pos - Bagnara   (Correct)

.... simply by means of ROBDDs, as in [1, 8] is not the best thing we can do (whence the title) Here we propose an hybrid implementation where each Pos element is represented by a pair: the first component is the set of true variables (just as in the domain used in early groundness analyzers [7, 6]) the second component is a ROBDD. In each element of this new representation there is no redundancy: the ROBDD component does not contain any information about true variables. This solution uses the more e#cient representation for each kind of information: surely ground variables are best ....

C. Mellish. Some Global Optimizations for a Prolog Compiler. Journal of Logic Programming, 2:43--66, 1985.


A Reactive Implementation of Pos Using ROBDDs - Bagnara (1996)   (5 citations)  (Correct)

....show a rst non trivial solution to the problem, while Sect. 7 introduces the hybrid domain. The results of the experimental evaluation are reported in Sect. 8. Sect. 9 concludes with some nal remarks. 2 Boolean Functions for Groundness Analysis After the early approaches to groundness analysis [17, 15], which su ered from serious precision drawbacks, using Boolean functions has become customary in the eld. The reason is that Boolean functions allow to capture in a very precise way the groundness dependencies which are implicit in uni cation constraints such as z = f(g(x) y) the corresponding ....

....Pos elements simply by means of ROBDDs, as in [16, 1] is probably not the best thing we can do. Here we propose a hybrid implementation where each Pos element is represented by a pair: the rst component is the set of true variables (just as in the domain used in early groundness analyzers [17, 15]) the second component is a ROBDD. In each element of this new representation there is no redundancy: the ROBDD component does not contain any information about true variables. In fact, as we will see, the hybrid representation has the property that ROBDDs are used only in what they are good for: ....

C. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2:43-66, 1985.


Set-Sharing is Redundant for Pair-Sharing - Bagnara, Hill, Zaffanella (1997)   (11 citations)  (Correct)

....the sharing group S 0 for S 0 S. Downward closed sharing sets can be eciently represented by means of the sets of their maximal elements. The resulting domain, called # JL, is, essentially, PS Ground , where denotes the reduced product and Ground is the simplest domain for groundness [44,50]. In fact, in # JL, ground dependencies and pair sharing dependencies are lost. To compensate this loss of precision, Fecht combines # JL with Pos and then with Lin, where Lin is the usual, simple domain for linearity. 8 For the analyses based on these combined domains, Fecht reports huge ....

C. S. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2(1):43-66, 1985.


A Reactive Implementation of Pos Using ROBDDs - Bagnara (1996)   (5 citations)  (Correct)

....a first non trivial solution to the problem, while Sect. 7 introduces the hybrid domain. The results of the experimental evaluation are reported in Sect. 8. Sect. 9 concludes with some final remarks. 2 Boolean Functions for Groundness Analysis After the early approaches to groundness analysis [17, 15], which su#ered from serious precision drawbacks, using Boolean functions has become customary in the field. The reason is that Boolean functions allow to capture in a very precise way the groundness dependencies which are implicit in unification constraints such as z = f(g(x) y) the ....

....Pos elements simply by means of ROBDDs, as in [16, 1] is probably not the best thing we can do. Here we propose a hybrid implementation where each Pos element is represented by a pair: the first component is the set of true variables (just as in the domain used in early groundness analyzers [17, 15]) the second component is a ROBDD. In each element of this new representation there is no redundancy: the ROBDD component does not contain any information about true variables. In fact, as we will see, the hybrid representation has the property that ROBDDs are used only in what they are good for: ....

C. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2:43--66, 1985.


Factorizing Equivalent Variable Pairs in ROBDD-Based.. - Bagnara, Schachte (1998)   (10 citations)  (Correct)

....2 Preliminaries Let U be a set. The set of all subsets of U will be denoted by #(U ) The set of all finite subsets of U will be denoted by # f (U ) The notation S # f T stands for S # # f (T ) 2. 1 Boolean Functions for Groundness Analysis After the early approaches to groundness analysis [14, 12], which su#ered from serious precision drawbacks, the use of Boolean functions [10, 13] has become customary in the field. The reason is that Boolean functions allow to capture in a very precise way the groundness dependencies that are implicit in unification constraints such as z = f(g(x) y) ....

C. S. Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2(1):43--66, 1985.


Some Global Compile-Time Optimizations for CLP(R) - Jørgensen, Marriott, al.   (Correct)

....use only local optimizations, and do not employ global analysis and optimizations similar to those given here. The techniques for detecting trivial constraints and elimination of unnecessary choicepoints are closely related to those studied for the compilation of Prolog. For example, see Mellish [12], Debray [4, 5] or Hickey and Mudambi [6] The technique for removal of invariant expressions from recursion is in spirit similar to the code motion optimization used in compilation of conventional programming languages [13] and Debray [3] has suggested a related transformation for Prolog ....

....was known at compile time that the constraints were guaranteed to be trivial, the generated code would not need to call the interface, and the code for variable lookup, order of evaluation and assignment or testing could be hardwired in. In this section we sketch how a variant of mode analysis [4, 12] used in Prolog compilation can be used to provide such information to the compiler. The reader is referred to [11] for a formal framework in which to express this analysis. A mode analysis finds call patterns to describe the form of runtime calls to predicates. In a simple Prolog mode analysis ....

C. S. Mellish. Some Global Optimizations for a Prolog Compiler. Journal of Logic Programming, 2, 43--66, 1985. 13


Global Flow Analysis as a Practical Compilation Tool - Hermenegildo, Warren, DEBRAY (1992)   (38 citations)  (Correct)

....the information obtained via such static analyses is typically conservative. Nevertheless it can be used in many cases to improve the quality of code generated for the program. This has given rise to a great deal of research in flow analysis based optimization of logic programs (e.g. see [3, 9, 18, 21, 31, 32, 34, 24]) Most of the flow analyses that have been proposed for logic programming languages are based on a technique called abstract interpretation [6] The essential idea in this technique is to give a finite description of the behavior of a program by symbolically executing it over an abstract ....

....ESPRIT project 2471 PEPMA. The work of S. Debray was supported in part by the National Science Foundationunder grant number CCR 8702939. 1 literature: at this time, the only implemented systems that we are aware of, apart from those described in this paper, are those of Janssens [18] Mellish [24], Taylor [31] and Van Roy [34] However, in order that the analysis and optimization of large programs be practical as a compilation tool, it is necessary that such analysis algorithms be both precise and efficient, and that the resulting information be of use for the intended purpose, be it ....

C. S. Mellish. Some Global Optimizations for a Prolog Compiler. Journal of Logic Programming, 2(1), April 1985.


Cost Analysis of Logic Programs - Debray (1993)   (13 citations)  (Correct)

.... speaking, this groundness requirement can be relaxed as long as no predicate binds any variable occurring in any of its input argument positions: as an example, consider the familiar append program for 1 The input output character of argument positions can be inferred via dataflow analysis [7, 28]. 2 concatenating lists, which does not require that the elements of the lists being processed be ground. While it is possible to give syntactic characterizations that imply this property, however, such characterizations, in attempting to cope with aliasing effects, quickly become verbose and ....

C. S. Mellish, "Some Global Optimizations for a Prolog Compiler," Journal of Logic Programming 2, 1 (April 1985), pp. 43--66.


R. Orchard et al. (Eds.): IEA/AIE 2004, LNAI 3029.. - Springer-Verlag..   (Correct)

No context found.

C.S. Mellish. Some Global Optimizations for a Prolog Compiler. J. Logic Programming 2, 1 (Apr. 1985), pp.43-66.


Task Granularity Analysis in Logic Programs - Saumya Debray Nai-Wei (1990)   (20 citations)  (Correct)

No context found.

C. S. Mellish, "Some Global Optimizations for a Prolog Compiler," J. Logic Programming 2, 1 (April 1985), pp. 43-66.


Precise and Expressive Mode Systems for Typed Logic Programming.. - Overton (2003)   (Correct)

No context found.

Christopher Mellish. Some global optimizations for a Prolog compiler. Journal of Logic Programming, 2(1):43--66, April 1985.


A General Framework for Semantics-based Bottom-up.. - Barbuti, Giacobazzi.. (1993)   (26 citations)  (Correct)

No context found.

C. Mellish. Some Global Optimizations for a Prolog Compiler. Journal of Logic Programming, 2:43--66, 1985.


High-level Management of Computation History for the Design and.. - Loia (1992)   (2 citations)  (Correct)

No context found.

C. S. Mellish, `Some global optimizations for a Prolog compiler', Journal of Logic Programming, 2, (1) 43--66 (1985).


Efficient Dataflow Analysis of Logic Programs - Debray (1992)   (24 citations)  (Correct)

No context found.

C. S. Mellish, "Some Global Optimizations for a Prolog Compiler", J. Logic Programming vol. 2 no. 1 (Apr. 1985), pp. 43-66.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC