Constraint logic programming

  • Authors:
  • J. Jaffar;J.-L. Lassez

  • Affiliations:
  • I.B.M. Thomas J. Watson Research Center, Yorktown Heights, N.Y., U.S.A;I.B.M. Thomas J. Watson Research Center, Yorktown Heights, N.Y., U.S.A

  • Venue:
  • POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
  • Year:
  • 1987

Quantified Score

Hi-index 0.03

Visualization

Abstract

We address the problem of designing programming systems to reason with and about constraints. Taking a logic programming approach, we define a class of programming languages, the CLP languages, all of which share the same essential semantic properties. From a conceptual point of view, CLP programs are highly declarative and are soundly based within a unified framework of formal semantics. This framework not only subsumes that of logic programming, but satisfies the core properties of logic programs more naturally. From a user's point of view, CLP programs have great expressive power due to the constraints which they naturally manipulate. Intuition in the reasoning about programs is enhanced as a result of working directly in the intended domain of discourse. This contrasts with working in the Herbrand Universe wherein every semantic object has to be explicitly coded into a Herbrand term; this enforces reasoning at a primitive level. Finally, from an implementor's point of view, CLP systems can be efficient because of the exploitation of constraint solving techniques over specific domains.