A declarative language is a programming language that expresses the logic of a computation without describing its control flow. In other words, a declarative language tells the computer what to do, but not how to do it. This is in contrast to an imperative language, which describes the steps that the computer must take to perform a computation.
Declarative languages are often used for tasks such as database querying and artificial intelligence. This is because they allow the programmer to focus on the problem at hand, without having to worry about the details of how the computer will solve it.
Some examples of declarative languages include SQL, Prolog, and Haskell.