tries all clauses; concurrent constraint logic programming chooses only one. This is the most evident effect of an intended directionality of the interpreter, which never revises a choice it has previously taken. Other effects of this are the semantical possibility of having a goal that cannot be proved while the whole evaluation does not fail, and a particular way for equating a goal and a clause head. Applications Constraint logic programming has been applied to a number of fields, such as automated scheduling, type inference, civil engineering, mechanical engineering, digital circuit verification, air traffic control, finance, and others. History Constraint logic programming was introduced by Jaffar and Lassez in 1987. They generalized the observation that the term equations and disequations of Prolog II were a specific form of constraints, and generalized this idea to arbitrary constraint languages. The first implementations of this concept were Prolog III, CLP(R), and CHIP. See also BProlog BNR Prolog (aka CLP(BNR)) Constraint Handling Rules Ciao CLP(R) Distributed Oz Mozart ECLiPSe GNU Prolog SWI-Prolog References References Logic programming Constraint programming