Any relational languageORfunctional language. These kinds of programming language describe relationships between variables in terms of functionsOR {inference rules}, and the language executOR ({interpreter} ORcompiler) 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 ORprocedural 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)