The *(term) for a *(paradigm) related to _(logic) or declarative programming, where information is specified as a constraint on the result, and the evaluator's task is to use this information to limit the search space that some base set of algorithms would ordinarily have traversed to find the answer.

Constraints-based programming languages are not as common as constraints-solving libraries, since in the general case there is no systematically-reliable approach to this kind of evaluation style.

Generally, constraints are an interesting type of annotation.

<ul class="links">
  <li>_("Constraint Logic Programming"|http://www.cs.unh.edu/ccc/archive/constraints/archive/byte.html) a short introductory article from _("BYTE"|http://www.byte.com/) magazine.</li>
  <li>_("Constraints Archive"|http://www.cs.unh.edu/ccc/archive/).</li>
  <li>_("constraint.org"|http://www.constraint.org/) - A Site for Constraint Programming.</li>
  <li>_("Guide to Constraint Programming"|http://kti.ms.mff.cuni.cz/~bartak/constraints/index.html).</li>
  <li>_("The Constraint Computation Center (CCC)"|http://www.cs.unh.edu/ccc/).</li>
  <li>_("The Language List: constraint"|http://cui.unige.ch/langlist?constraint) at Computer Science Department (Centre Universitaire d'Informatique - CUI), University of Geneva, no longer manteined but useful.</li>
</ul>

<ul class="implementations">
  <li>_("UW Cassowary Constraint Solving Toolkit"|http://www.cs.washington.edu/research/constraints/cassowary/).</li>
</ul>
