ECLiPSe (ECLiPSe Constraint Logic Programming System) is an open-source software system whose aim is to serve as a platform for integrating various Logic Programming extensions. It is used in particular for the cost-effective development and deployment of constraint programming applications, e.g. in the areas of planning, scheduling, resource allocation, timetabling, transport etc. It is also ideal for teaching most aspects of combinatorial problem solving, e.g. problem modelling, constraint programming, mathematical programming, and search techniques. It contains several constraint solver libraries, a high-level modelling and control language, interfaces to third-party solvers, an integrated development environment and interfaces for embedding into host environments.
The ECLiPSe programming language has been developed from the Prolog language ([3]), more specifically the Edinburgh family of Prologs and more recently the ISO Prolog standard ([1]). ECLiPSe retains backward compatibility by supporting several language dialects.
In terms of implementation technology, ECLiPSe is built around an incremental compiler which compiles ECLiPSe source into WAM-like code [14], and a runtime system comprising an emulator of this abstract code, automatic memory management, I/O system and built-in predicates.