Declarative programming: Difference between revisions
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: [ |
* 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:
- component interface specifications: IDL;
- correctness proving: SPARK;
- database modeling: IDEF;
- formal grammar parser generation: yacc, bison;
- logical inference: Prolog;
- pattern matching: regex, SNOBOL;
- process automation, modeling, simulation and control: LabView, Modelica, MatLab/Simulink, Fuzzy Control Language;
- software modeling: UML;
- symbolic analysis and computations: Mathematica.