declarative language

(redirected from Declarative programming language)
Also found in: Wikipedia.

declarative language

[di‚klar·əd·iv ′laŋ·gwij]
(computer science)
A nonprocedural programming language that allows the programmer to state the task to be accomplished without specifying the procedures needed to carry it out.
McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.

declarative language

Any relational language or functional language. These kinds of programming language describe relationships between variables in terms of functions or inference rules, and the language executor (interpreter or compiler) applies some fixed algorithm to these relations to produce a result.

Declarative languages contrast with imperative languages which specify explicit manipulation of the computer's internal state; or procedural languages which specify an explicit sequence of steps to follow.

The most common examples of declarative languages are logic programming languages such as Prolog and functional languages like Haskell.

See also production system.
This article is provided by FOLDOC - Free Online Dictionary of Computing (

non-procedural language

A computer language that does not require writing traditional programming logic. Also known as a "declarative language," users concentrate on defining the input and output rather than the program steps required in a procedural programming language such as C++ or Java.

The following dBASE example shows both procedural and non-procedural commands to list two fields in a file. The non-procedural LIST displays all the records in a file. In the 3GL version, a logic loop must be defined (do/enddo), the next record must be read (skip), and the end of file must be tested (while .not. eof()). See fourth-generation language. Contrast with procedural language.

Procedural             Non-Procedural3rd-Generation         4th-GenerationLanguage (3GL)         Language (4GL)

 use fileABC            use fileABC
 do while .not. eof()   list name, total
   ? name, total
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.
References in periodicals archive ?
[ECL.sup.i][PS.sup.e] is a high-level modeling, control, and declarative programming language with interfaces to third-party solvers.
Golux was influenced by Absys, a declarative programming language developed at the University of Aberdeen and reported in a number of papers in the Machine Intelligence series [7-9].