Declarative programming

In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Many languages applying this style attempt to minimize or eliminate side effects by describing what the program should accomplish, rather than describing how to go about accomplishing it. This is in contrast with imperative programming, which requires an explicitly provided algorithm. Declarative pr... more
top ↑

Similar topics in Freebase

  • Knowledge-based systems

    Knowledge-based systems are systems based on the methods and techniques of Artificial Intelligence. Their core components are the knowledge base and the inference mechanisms. While for some authors expert systems, case-based reasoning systems and neural networks are all particular types of...
  • Procedural programming

    Procedural programming can sometimes be used as a synonym for imperative programming (specifying the steps the program must take to reach the desired state), but can also refer (as in this article) to a programming paradigm based upon the concept of the procedure call. Procedures, also known as...
  • Combinatory logic

    Combinatory logic is a notation introduced by Moses Schönfinkel and Haskell Curry to eliminate the need for variables in mathematical logic. It has more recently been used in computer science as a theoretical model of computation and also as a basis for the design of functional programming...
  • Compiled language

    A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). The term is somewhat vague; in principle any...
  • Interpreted language

    In computer programming, an interpreted language is a programming language whose programs are not directly executed by the host cpu but rather executed (or said to be interpreted) by a software program known as an interpreter. The source code of the program is often translated to a form that is...
  • Logic programming

    Logic programming is, in its broadest sense, the use of mathematical logic for computer programming. In this view of logic programming, which can be traced at least as far back as John McCarthy's [1958] advice-taker proposal, logic is used as a purely declarative representation language, and a...
  • Structured programming

    Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. It is most famous for removing or reducing reliance on the GOTO statement. Historically, several different structuring techniques or methodologies have been developed...
  • Functional programming

    In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state...
  • Lazy evaluation

    In computer programming, lazy evaluation is the technique of delaying a computation until the result is required. The benefits of lazy evaluation include: performance increases due to avoiding unnecessary calculations, avoiding error conditions in the evaluation of compound expressions, the ability...

These people have edited this topic:

Edit this topic
Edit and Show details

Add or delete facts, download data in JSON or RDF formats, and explore topic metadata.

Freebase Logo
What is Freebase?

Freebase is a huge collection of facts, built by people like you. Freebase connects facts in ways other sites can't, giving you new ways to explore millions of subjects.
You can help improve it!

Freebase Attribution

Freebase data is free for use under the CC-BY license.

The original description for Declarative programming was automatically generated from Wikipedia.org licensed under the GNU Free Documentation License.
[1]
Learn more about Freebase licensing and attribution