Under consideration for publication in Theory and Practice of Logic Programming

ECLiPSe is a Prolog-based programming system, aimed at the development and deployment of constraint programming applications. It is also used for teaching most aspects of combinatorial problem solving, for example, problem modelling, constraint programming, mathematical programming and search techniques. It uses an extended Prolog as its high-level modelling and control language, complemented by several constraint solver libraries, interfaces to third-party solvers, an integrated development environment and interfaces for embedding into host environments. This paper discusses language extensions, implementation aspects, components, and tools that we consider relevant on the way from Logic Programming to Constraint Logic Programming.

[1]  Manuel V. Hermenegildo,et al.  A New Module System for Prolog , 2000, Computational Logic.

[2]  Carmen Gervet,et al.  Large scale combinatorial optimization: A methodological viewpoint , 1998, Constraint Programming and Large Scale Discrete Optimization.

[3]  Mark Wallace,et al.  Domain Independent Propagation , 1992, FGCS.

[4]  Thom W. Frühwirth,et al.  Theory and Practice of Constraint Handling Rules , 1998, J. Log. Program..

[5]  J. W. Lloyd Computational logic - CL 2000 : first International Conference, London, UK, July 24-28, 2000 : proceedings , 2000 .

[6]  Christian Holzbaur OFAI clp(Q,R) Manual , 1995 .

[7]  H. Simonis Developing Applications with ECLiPSe , 2003 .

[8]  Lee Naish,et al.  Negation and Control in Prolog , 1986, Lecture Notes in Computer Science.

[9]  Micha Meier Compilation of Compound Terms in Prolog , 1990, NACLP.

[10]  Alan K. Mackworth Consistency in Networks of Relations , 1977, Artif. Intell..

[11]  Mike Reeve,et al.  ElipSys - A Parallel Programming System based on Logic , 1992, LPAR.

[12]  Kish Shen,et al.  Eplex: Harnessing Mathematical Programming Solvers for Constraint Logic Programming , 2005, CP.

[13]  Peter J. Stuckey,et al.  MiniZinc: Towards a Standard CP Modelling Language , 2007, CP.

[14]  Manuel V. Hermenegildo,et al.  A Documentation Generator for (C)LP Systems , 2000, Computational Logic.

[15]  Jacques Noyé Backtrackable Updates , 1994, ILPS Workshop: Implementation Techniques for Logic Programming Languages.

[16]  Steven Skiena,et al.  Principles and practice of unification factoring , 1996, TOPL.

[17]  David Chan,et al.  SEPIA - An Extendible Prolog System , 1989, IFIP Congress.

[18]  François Fages,et al.  Modules for Prolog Revisited , 2006, ICLP.

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

[20]  Joachim Schimpf Logical Loops , 2002, ICLP.

[21]  Christian Holzbaur,et al.  Metastructures versus Attributed Variables in the Context of Extensible Unification , 1992, PLILP.

[22]  R. Lougee-Heimer,et al.  The Common Optimization INterface for Operations Research: Promoting open-source software in the operations research community , 2003 .

[23]  Mark Wallace,et al.  Generalized Constraint Propagation over the CLP Scheme , 1993, J. Log. Program..

[24]  Mats Carlsson,et al.  Garbage Collection for Prolog Based on WAM (Revised version) , 1986 .

[25]  Jorge B. Bocca,et al.  MegaLog - A platform for developing Knowledge Base Management Systems , 1991, DASFAA.

[26]  Peter J. Stuckey,et al.  Programming with Constraints: An Introduction , 1998 .

[27]  Joachim Schimpf,et al.  ECLiPSe: A Platform for Constraint Logic Programming , 1997 .

[28]  Nicolas Beldiceanu,et al.  Time Stamps Techniques for the Trailed Data in Constraint Logic Programming Systems , 1990, SPLT.

[29]  Krzysztof R. Apt,et al.  Constraint logic programming using Eclipse , 2007 .

[30]  Fergus Henderson,et al.  Determinism analysis in the Mercury compiler , 1996 .

[31]  Kish Shen,et al.  A High-Level Generic Interface to External Programming Languages for ECLiPSe , 2002, PADL.

[32]  Tommy Färnqvist Number Theory Meets Cache Locality – Efficient Implementation of a Small Prime FFT for the GNU Multiple Precision Arithmetic Library , 2005 .

[33]  Nicolas Beldiceanu,et al.  Global Constraint Catalog , 2005 .

[34]  Joachim Schimpf Garbage Collection for Prolog based on Twin Cells , 1990 .

[35]  Mark Wallace,et al.  Probe Backtrack Search for Minimal Perturbation in Dynamic Scheduling , 2000, Constraints.

[36]  Jonas Barklund,et al.  Prolog with arrays and bounded quantifications , 1996, J. Program. Lang..

[37]  Carmen Gervet,et al.  Interval propagation to reason about sets: Definition and implementation of a practical language , 1997, Constraints.