Results 1 - 10
of
19
Compiling Constraints in clp(FD)
, 1996
"... We present the clp(FD) system: a Constraint Logic Programming language with finite domain constraints... ..."
Abstract
-
Cited by 135 (19 self)
- Add to MetaCart
We present the clp(FD) system: a Constraint Logic Programming language with finite domain constraints...
Abstract machines for programming language implementation
- FUTURE GENERATION COMPUTER SYSTEMS
, 2000
"... We present an extensive, annotated bibliography of the abstract machines designed for each of the main programming paradigms (imperative, object oriented, functional, logic and concurrent). We conclude that whilst a large number of efficient abstract machines have been designed for particular langua ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
We present an extensive, annotated bibliography of the abstract machines designed for each of the main programming paradigms (imperative, object oriented, functional, logic and concurrent). We conclude that whilst a large number of efficient abstract machines have been designed for particular language implementations, relatively little work has been done to design abstract machines in a systematic fashion.
Constraint Satisfaction Methods For Generating Valid Cuts
, 1998
"... : Valid cuts are viewed in the operations research literature as inequalities that strengthen linear relaxations. The constraint satisfaction community has developed an alternate approach. Logical inference methods, such as the resolution method, can generate valid cuts that need not be inequalities ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
: Valid cuts are viewed in the operations research literature as inequalities that strengthen linear relaxations. The constraint satisfaction community has developed an alternate approach. Logical inference methods, such as the resolution method, can generate valid cuts that need not be inequalities and that are considered apart from any role in relaxations. They reduce backtracking by helping to achieve "consistency," which is analogous to integrality in a polyhedral setting. The basic theory underlying these methods is presented here. Parallels with mathematical programming are pointed out, and resolutionbased algorithms for generating cuts are proposed as a unifying theme. Specific topics include k-consistency, adaptive consistency, the dependency graph, and various measures of its width, including induced width and bandwidth. 1.1 INTRODUCTION Cutting planes have been a major research focus in the operations research community since the 1950's. They make possible the branch-and-cut...
An Application of Constraint Propagation to Data-Flow Analysis
- IN PROC OF NINTH IEEE CONFERENCE ON AI APPLICATIONS
, 1993
"... The optimized compilation of Constraint Logic Programming (CLP) languages can give rise to impressive performance improvements, even more impressive than the ones obtainable for the compilation of Prolog. On the other hand, the global analysis techniques needed to derive the necessary information ca ..."
Abstract
-
Cited by 11 (8 self)
- Add to MetaCart
The optimized compilation of Constraint Logic Programming (CLP) languages can give rise to impressive performance improvements, even more impressive than the ones obtainable for the compilation of Prolog. On the other hand, the global analysis techniques needed to derive the necessary information can be significantly more complicated than in the case of Prolog. The original contribution of the present work is the integration of approximate inference techniques, well known in the field of artificial intelligence (AI), with an appropriate framework for the definition of nonstandard semantics of CLP. This integration turns out to be particularly appropriate for the considered case of the abstract interpretation of CLP programs over numeric domains. One notable advantage of this approach is that it allows to close the often existing gap between the formalization of data-flow analysis in terms of abstract interpretation and the possibility of efficient implementations. Towards this aim we i...
Proof-Theoretic Foundation of Compilation in Logic Programming Languages
- Proceedings of the Joint International Conference and Symposium on Logic Programming (JICSLP’98
"... Commercial implementations of logic programming languages are engineered Appeared in the Proceedings of the 1998 Joint International Conference and Symposium on Logic Programming --- JICSLP'98 (J. Jaffar editor), pp ??--??, MIT Press, Manchester, UK, 16--19 June 1998. around a compiler based on War ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
Commercial implementations of logic programming languages are engineered Appeared in the Proceedings of the 1998 Joint International Conference and Symposium on Logic Programming --- JICSLP'98 (J. Jaffar editor), pp ??--??, MIT Press, Manchester, UK, 16--19 June 1998. around a compiler based on Warren's Abstract Machine (WAM) or a variant of it. In spite of various correctness proofs, the logical machinery relating the proof-theoretic specification of a logic programming language and its compiled form is still poorly understood. In this paper, we propose a logicindependent definition of compilation for logic programming languages. We apply this methodology to derive the first cut of a compiler and the corresponding abstract machine for the language of hereditary Harrop formulas and then for its linear refinement. 1 Introduction Compiled logic programs run over an order of magnitude faster than their interpreted source and constitute therefore a key step to combining the advantages of...
On the Detection of Implicit and Redundant Numeric Constraints in CLP Programs
- Proceedings of the "1994 Joint Conference on Declarative Programming (GULP-PRODE '94
, 1994
"... We address the problem of compile-time detection of implicit and redundant numeric constraints in CLP programs. We discuss how this kind of constraints have several important applications in the general field of semantics based program manipulation and, specifically, optimized compilation. We att ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
We address the problem of compile-time detection of implicit and redundant numeric constraints in CLP programs. We discuss how this kind of constraints have several important applications in the general field of semantics based program manipulation and, specifically, optimized compilation. We attack the problem in an original and e#ective way. The basic ideas underlying our approach are: (1) the use of approximate and e#cient constraint inference techniques originally developed in the field of artificial intelligence. These techniques allow great flexibility in dealing with the complexity/precision tradeo# of the analysis. And (2) the integration of these techniques within an appropriate framework for the definition of non-standard semantics of CLP. We show that one notable advantage of this combined approach is that it allows to close the often existing gap between the formalization of data-flow analysis in terms of abstract interpretation and the possibility of e#cient im...
Optimization and Relaxation in Logic Languages
- Department of Computer Science, SUNY-Buffalo
, 1997
"... Acknowledgements I wish to thank: 1. my advisor, Bharat Jayaraman, to whom this dissertation owes its existence in an uncountable number of ways, 2. Surya Mantha of Xerox Corporation, for input at various crucial stages, 3. Xerox Corporation, for generously providing funds that supported most of thi ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Acknowledgements I wish to thank: 1. my advisor, Bharat Jayaraman, to whom this dissertation owes its existence in an uncountable number of ways, 2. Surya Mantha of Xerox Corporation, for input at various crucial stages, 3. Xerox Corporation, for generously providing funds that supported most of this work, 4. the rest of my committee, namely, Prof. Alan L. Selman and Prof. Kenneth W. Regan, for their interest in my welfare, 5. the secretaries in the department of computer science, for, among other things, shielding me from administrivial vagaries of the University, 6. my friends, for believing in, supporting, and encouraging me through thick andthin. I shall refrain from enumerating names here for fear of making the list longer than the rest of my dissertation.
Repeated Redundant Inequalities in Constraint Logic Programming
, 1994
"... A number of Constraint logic Programming systems, including CLP(R) and Prolog III, decide simultaneous linear inequalities as part of the fundamental operational step of constraint solving. While this can contribute tremendously to the usefulness of the systems, it is computationally quite expensive ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
A number of Constraint logic Programming systems, including CLP(R) and Prolog III, decide simultaneous linear inequalities as part of the fundamental operational step of constraint solving. While this can contribute tremendously to the usefulness of the systems, it is computationally quite expensive. Non-ground inequalities must generally be tested for consistency with the collected constraint set and then added to it, increasing its size, and thus making the next such test more expensive. Future redundant inequalities in a program are those that are guaranteed to be subsumed after no more than one subsequent procedure call, usually in the context of a recursive procedure. It has been noted that such inequalities need only be tested for consistency with the current constraint set, thus resulting in dramatic savings in execution speed and space usage. In this paper we generalize the notion of future redundancy in a number of ways and thus broaden its applicability. Thus we show how to d...
Meta-Programming in CLP(R)
, 1994
"... A widely used property of Prolog is that it is possible to write Prolog programs to construct and manipulate other Prolog programs in a very general manner. Unfortunately, this property is not carried over to richer languages such as CLP(R) -- the manipulation of CLP(R) programs in CLP(R) is quit ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
A widely used property of Prolog is that it is possible to write Prolog programs to construct and manipulate other Prolog programs in a very general manner. Unfortunately, this property is not carried over to richer languages such as CLP(R) -- the manipulation of CLP(R) programs in CLP(R) is quite limited. The reason is that the equality of terms in CLP(R) is not based on their syntactic structure. We propose an extended language, CLP(R+M), in which programs may be represented and structurally manipulated. Importantly, CLP(R+M) is not just a meta-language for CLP(R), but it can also be used as its own meta-language. We present a decision algorithm for R+M constraints, discuss implementation issues, and describe the implementation of a sublass of R+M constraints. Finally, by building on the extended language, we present an integrated set of system predicates and a methodology for practical meta-programming. An earlier version of this paper appeared in the Proceedings of the N...

