Declarative programming: Difference between revisions

From Rosetta Code
Content added Content deleted
(I tried to sort out the declarative languages I know of. Feel free to extend.)
 
m (Syntax, links)
Line 4: Line 4:


* Specifications and contracts, in the [[programming language]]s which support separation of specifications and implementations;
* Specifications and contracts, in the [[programming language]]s which support separation of specifications and implementations;
* Types declarations and inference in typed languages;
* Types declarations and types inference in typed languages;
* Objects declarations in [[object-oriented programming]] languages as well as typed languages;
* Objects declarations in [[object-oriented programming]] languages, as well as in typed languages in general;
* Many domain-specific languages.
* Many domain-specific languages.


Line 18: Line 18:
* process automation, modeling, simulation and control: [http://en.wikipedia.org/wiki/LabView LabView], [http://en.wikipedia.org/wiki/Modelica Modelica], [http://en.wikipedia.org/wiki/Simulink MatLab/Simulink], [http://en.wikipedia.org/wiki/Fuzzy_Control_Language Fuzzy Control Language];
* process automation, modeling, simulation and control: [http://en.wikipedia.org/wiki/LabView LabView], [http://en.wikipedia.org/wiki/Modelica Modelica], [http://en.wikipedia.org/wiki/Simulink MatLab/Simulink], [http://en.wikipedia.org/wiki/Fuzzy_Control_Language Fuzzy Control Language];
* software modeling: [http://en.wikipedia.org/wiki/Unified_Modeling_Language UML];
* software modeling: [http://en.wikipedia.org/wiki/Unified_Modeling_Language UML];
* symbolic analysis and computations: [http://en.wikipedia.org/wiki/Mathematica Mathematica].
* symbolic analysis and computations: [[Mathematica]].

Revision as of 17:44, 21 July 2008

Declarative programming is a programming model. See main article imperative programming.

The major areas of declarative programming application are:

  • Specifications and contracts, in the programming languages which support separation of specifications and implementations;
  • Types declarations and types inference in typed languages;
  • Objects declarations in object-oriented programming languages, as well as in typed languages in general;
  • Many domain-specific languages.

Among the latter, according to the domain: