The *(term) for a style of programming where the specification allows for a great deal of _(freedom) in acheiving results as specified. We say that a declarative program specifies the "what" of the result, but not the "how".

Programming languages which encourage this style of programming are termed declarative, and specifically include the _(logic) and _(functional) paradigms, to varying degrees.

This is distinguished from imperative programming, where a sequence of actions is specified, or demonstrative programming, where the program is a demonstrative record of something which was done in order to achieve some effect (with _(abstraction) of arguments after-the-fact).
