Constraint logic programming languages

Constraint Logic Programming (CLP) is an extension of Logic Programming aimed at replacing the pattern matching mechanism of unification, as used in Prolog, by a more general operation called constraint satisfaction. This aritcle provides a panoramic view of the recent work done in designing and implementing CLP languages. It also presents a summary of their theoretical foundations, discusses implementation issues, compares the major CLP languages, and suggests directions for further work.

[1]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[2]  Dana S. Scott,et al.  Concurrent constraint programming languages , 1989 .

[3]  Roland H. C. Yap,et al.  Constraint Logic Programming and Option Trading , 1987, IEEE Expert.

[4]  Alain Colmerauer,et al.  An introduction to Prolog III , 1989, CACM.

[5]  Alan Borning,et al.  ThingLab: a constraint-oriented simulation laboratory , 1979 .

[6]  Krzysztof R. Apt,et al.  Introduction to Logic Programming , 1988 .

[7]  Robert S. Boyer,et al.  A computational logic handbook , 1979, Perspectives in computing.

[8]  Neil V. Murray Completely Non-Clausal Theorem Proving , 1982, Artif. Intell..

[9]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[10]  Alain Colmerauer,et al.  Equations and Inequations on Finite and Infinite Trees , 1984, FGCS.

[11]  Robert A. Kowalski,et al.  The Semantics of Predicate Logic as a Programming Language , 1976, JACM.

[12]  B. Buchberger,et al.  Grobner Bases : An Algorithmic Method in Polynomial Ideal Theory , 1985 .

[13]  R. Kowalski,et al.  Linear Resolution with Selection Function , 1971 .

[14]  Akira Aiba,et al.  Constraints Logic Programming Language CAL , 1988, FGCS.

[15]  G. Makanin The Problem of Solvability of Equations in a Free Semigroup , 1977 .

[16]  Bjørn N. Freeman-Benson,et al.  An incremental constraint solver , 1990, CACM.

[17]  Wolfram Büttner,et al.  Embedding Boolean Expressions into Logic Programming , 1987, J. Symb. Comput..

[18]  Guy L. Steele,et al.  The definition and implementation of a computer programming language based on constraints , 1980 .

[19]  Dennis S. Arnon,et al.  A Bibliography of Quantifier Elimination for Real Closed Fields , 1988, J. Symb. Comput..

[20]  Keith L. Clark,et al.  Negation as Failure , 1987, Logic and Data Bases.

[21]  Pascal Van Hentenryck,et al.  The Constraint Logic Programming Language CHIP , 1988, FGCS.

[22]  Leon Sterling,et al.  The Art of Prolog - Advanced Programming Techniques , 1986 .

[23]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[24]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[25]  Dima Grigoriev,et al.  Solving Systems of Polynomial Inequalities in Subexponential Time , 1988, J. Symb. Comput..

[26]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[27]  Alain Colmerauer,et al.  Opening the Prolog III universe , 1987 .

[28]  G. E. Collins,et al.  Quantifier Elimination for Real Closed Fields: A Guide to the Literature , 1983 .

[29]  Joxan Jaffar,et al.  Completeness of the Negation as Failure Rule , 1983, IJCAI.

[30]  Jacques Cohen,et al.  A view of the origins and development of Prolog , 1988, CACM.