A declarative programming language allows the programmer to specify what to do, not how to do it. DL's enable DeclarativeProgramming. There are flavours of declarative language: see LogicProgrammingLanguage, RelationalProgrammingLanguage, and FunctionalProgrammingLanguage.