Algebraic programming language

from Wikipedia, the free encyclopedia

An algebraic programming language fulfills the properties of referential transparency . The concept is related to that of functional programming languages .

Term transformations of equations and new languages

For term transformations of equations in algebra (or program code in programming languages ), rules such as the commutative law or the distributive law must apply. However, the rules cannot be implemented for the program code in many programming languages, since side effects - such as changing global variables and IO actions - are permitted in the functions and thus cancel these rules.

John W. Backus recognized this fact. When he received the Turing Award in 1978 , he proposed the FP systems in his lecture and showed examples of other term conversion rules.

The FP systems, however, basically avoided variables, which he called "function-level programming" in English. Today, the lambda calculus is also used in purely functional programming languages; there are then no variable assignments, which makes it necessary to replace loops with recursion .

Suggestion for algebraic programming language

The term algebraic programming language is intended to summarize the formulations function-level programming and purely functional programming language , since algebraic rules and referential transparency, which these rules make possible in programming languages, are closely related.

Individual evidence

  1. ^ John Backus: Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. In: Communications of the ACM. Vol. 21, No. 8, August 1978, pp. 613–641 ( PDF; 3.0 MB )