Constraint Programming Paradigm
A Constraint Programming Paradigm is a declarative programming paradigm where finitary relations between program variables are stated in the form of relation constraints.
- Context:
- It can be associated to a Constraint Programming Language.
- It can be associated to a Constraint-based Software Code.
- …
- Counter-Example(s):
- See: Constraint Programming Task, Language Primitive, Constraint Satisfaction Problem, Simplex Algorithm, Constraint Logic Programming, Logic Program.
References
2014
- (Wikipedia, 2014) ⇒ http://en.wikipedia.org/wiki/constraint_programming Retrieved:2014-8-9.
- In computer science, constraint programming is a programming paradigm wherein relations between variables are stated in the form of constraints. Constraints differ from the common primitives of imperative programming languages in that they do not specify a step or sequence of steps to execute, but rather the properties of a solution to be found. This makes constraint programming a form of declarative programming. The constraints used in constraint programming are of various kinds: those used in constraint satisfaction problems (e.g. “A or B is true"), those solved by the simplex algorithm (e.g. “≤ 5"), and others. Constraints are usually embedded within a programming language or provided via separate software libraries.
Constraint programming can be expressed in the form of constraint logic programming, which embeds constraints into a logic program. This variant of logic programming is due to Jaffar and Lassez, who extended in 1987 a specific class of constraints that were introduced in Prolog II. The first implementations of constraint logic programming were Prolog III, CLP(R), and CHIP.
Instead of logic programming, constraints can be mixed with functional programming, term rewriting, and imperative languages.
Programming languages with built-in support for constraints include Oz (functional programming) and Kaleidoscope (imperative programming). Mostly, constraints are implemented in imperative languages via constraint solving toolkits, which are separate libraries for an existing imperative language.
- In computer science, constraint programming is a programming paradigm wherein relations between variables are stated in the form of constraints. Constraints differ from the common primitives of imperative programming languages in that they do not specify a step or sequence of steps to execute, but rather the properties of a solution to be found. This makes constraint programming a form of declarative programming. The constraints used in constraint programming are of various kinds: those used in constraint satisfaction problems (e.g. “A or B is true"), those solved by the simplex algorithm (e.g. “≤ 5"), and others. Constraints are usually embedded within a programming language or provided via separate software libraries.