Declarative programming
programming paradigm that expresses the logic of a computation without describing its control flow

In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without fully describing its control flow.
The paradigm focuses on abstracting a program beyond the order of execution. This implies usage of a high-level programming language.
Languages that permit this style allow a developer to minimize or eliminate side effects by describing what the program must accomplish in terms of the problem domain, rather than fully describing how to accomplish it as a sequence of the programming language primitives (the how being left up to the language's implementation). Declarative programming is in contrast with imperative programming, which implements algorithms in explicit steps.
Just like in the functional programming paradigm, mutating variables does not conform to the declarative paradigm because it implies an execution order which is imperative.
Declarative programming may consider programs as theories of a formal logic, and computations as deductions in that logical theory. Declarative programming at times simplifies the writing of parallel programs.
Common declarative language paradigms include logic programming (e.g., Prolog, Datalog, answer set programming), and algebraic modeling systems.
Some logic programming languages, such as Prolog, and database query languages, such as SQL, while declarative in principle, also support a procedural style of programming.
Begin with the source’s own compact description: “Declarative programming” is programming paradigm that expresses the logic of a computation without describing its control flow. The dossier treats that line as a proposition to test through Declarative, programming and paradigm, not as a finished interpretation.
Why this record matters
The phrase “programming paradigm that expresses the logic of a computation without describing its control flow” supplies a clear boundary for inquiry. It also exposes the unanswered questions: who defined that boundary, when it became stable and which sources sit outside it.
Named sources, stable identifiers and responsible institutions provide the strongest route from overview to verifiable evidence. The source revision retrieved here is dated Aug 2, 2026. The linked authority identifier is Q531152. The Library of Congress control number is sh93000071. None of the 1 selected statements returned an explicit reference.
The absence of detail may reflect summary conventions rather than a lack of surviving documentation. The source lead contains qualifying language; that uncertainty should survive quotation, summary and reuse. Authority statements aid reconciliation but still require their own references, qualifiers and ranks to be checked.
How to read it
Use the entry as an orientation point, then follow its citations and revision history. Names, dates and institutional relationships should be checked against the original record.
- Subject orientation
- Search vocabulary
- Locating named sources
The closest primary source, responsible institution and strongest cited specialist reference.
Three-step research path
- Establish the record: confirm the title “Declarative programming”, its source revision and the description used here.
- Expand the search: follow Declarative programming primary sources, Declarative programming archive and Declarative research across catalogues and specialist indexes.
- Test the account: compare the strongest cited source with the responsible institution’s current record and note any disagreement.
Questions for further research
- Which source most directly establishes the central claim about “Declarative programming”?
- Which institution is responsible for the underlying evidence?
- Which cited source is closest to the event, object or claim?
Search terms from this dossier
This entry incorporates text from “Declarative programming” on English Wikipedia. Contributors are listed in the page history. Text is available under the Creative Commons Attribution-ShareAlike 4.0 License. Selected authority identifiers and statements are retrieved from Wikidata under CC0; their references and qualifiers remain part of the verification path.