GE> Any relational languaGE or functional languaGE. These kinds of programming languaGE describe relationships between variables in terms of functions or {inference rules}, and the languaGE executor ({interpreter} or compiler) applies some fixed algorithm to these relations to produce a result. Declarative languaGEs contrast with imperative languaGEs which specify explicit manipulation of the computer' s internal state or procedural languaGEs which specify an explicit sequence of steps to follow. The most common examples of declarative languaGEs are {logic programming} languaGEs such as {Prolog} and {functional languaGEs} like {Haskell}. See also production system. (2004-05-17)