A style of programming that concentrates on what to do, rather than how to do it. Contrast with imperative programming.
Some examples of declarative programming languages:
- Functional programming languages, like Haskell, ML, etc.
- Logic programming languages, like Prolog.
- Various rule-based languages, such as CLIPS are primarily declarative, but are often used in a stateful manner.
- Various procedural markup languages, such as compose (Multics) and the Unix *roff family (nroff, troff, etc.)), are imperative.
- Various descriptive markup languages, such as HTMLand SGML (from which XML was derived) are declarative (ish -- again, this is often not the case in practice).
XSLT could indeed be called an XML-based, declarative and functional programming language.
[ Category Concept ]