A constraint logic programming shell

Pierre Lim, Peter J. Stuckey

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

1 Citation (Scopus)


The Constraint Logic Programming (CLP) scheme generalizes the model-theoretic and operational models of logic programming to include constraints over particular problem domains (structures). The scheme explicitly separates logical inference steps and structure satisfiability questions. The Constraint Logic Programming Shell (CLPS) described in this paper utilizes this separation to define a structure independent inference engine. This engine forms the basis for a CLP system that only requires a constraint solver for the desired structure to form a complete CLP implementation. This contrasts with current implementations of constraint logic programming languages which have a fixed structure e.g. languages such as CLP(ℛ), PROLOG-III and CHIP. They do not completely separate the inference engine and constraint solver since they were constructed with a specific structure in mind. Thus constructing a new CLP system from such a system involves substantial work. The shell is aimed at providing rapid prototyping of CLP systems. To allow CLPS systems to take advantage of the incremental nature of constraint solving in CLP, three interfaces for attaching solvers are described. Each interface corresponds to a different level of solver suitability for incremental constraint solving. Pre-existing solvers are supported through the first two interfaces, while the third supports custom-built incremental solvers.

Original languageEnglish
Title of host publicationProgramming Language Implementation and Logic Programming - International Workshop PLILP 1990, Proceedings
EditorsPierre Deransart, Jan Maluszynski
Number of pages14
ISBN (Print)9783540530107
Publication statusPublished - 1 Jan 1990
Externally publishedYes
Event2nd International Workshop on Programming Language Implementation and Logic Programming, PLILP 1990 - Linkoping, Sweden
Duration: 20 Aug 199022 Aug 1990

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume456 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference2nd International Workshop on Programming Language Implementation and Logic Programming, PLILP 1990

Cite this