Constraint Logic Programming: A Survey
- 8 January 1998
- book chapter
- Published by Oxford University Press (OUP)
Abstract
Constraint Logic Programming (CLP) began as a natural merger of two declarative paradigms: constraint solving and logic programming. This combination helps make CLP programs both expressive and flexible, and in some cases, more efficient than other kinds of programs. Though a relatively new field, CLP has progressed in several and quite different directions. In particular, the early fundamental concepts have been adapted to better serve in different areas of applications. In this survey of CLP, a primary goal is to give a systematic description of the major trends in terms of common fundamental concepts. Consider first an example program in order to identify some crucial CLP concepts. The program below defines the relation sumto(n, 1 + 2 + . . . . . + n) for natural numbers n. . . . sumto(0, 0). . . . . . sumto(N, S) :- N >= 1, N <= S, sumto(N - 1, S - N). . . . The query S <= 3, sumto(N, S) gives rise to three answers (N = 0, S = 0), (N = 1, S =1), and (N = 2, S = 3), and terminates.Keywords
This publication has 0 references indexed in Scilit: