Point-free programming language

from Wikipedia, the free encyclopedia
QS IT
This article was due to content flaws on the quality assurance side of the computer science editorial added. This is done in order to bring the quality of the articles from the subject area of ​​computer science to an acceptable level. Help to eliminate the shortcomings in this article and take part in the discussion !  ( + )


Reason: What does "point-free" or "point" mean? - Olaf Studt ( discussion ) 15:41, April 24, 2020 (CEST)

Point-free programming offers the possibility of programming at the functional level. Points are the ties to variables commonly used in the lambda calculus notation (λx . Λy . M). The first known point-free programming language was an FP system by John W. Backus , which he presented in an essay on the occasion of the 1977 Turing Award . He called this FP (from the English Functional Programming), although it was a PF (point-free programming technique) in which he propagated a variable-free style. This variable-free style was only made possible through the use of the composition . Since he avoided the use of variables, he instead used numbers as selectors that accessed the positions of an array that he offered in the argument of a function. A limited number of program-forming combiners were also used, with the help of which simple primitives and programs were combined to form more complex programs.

Today we also know the point-free style as a variant use in the purely functional Haskell programming language . The programming language FP trivia, which is a continuation of Backus' FP systems, tries to use this style; however, instance variables can also be used for better documentation of the programs - in the same point-free style. Not to be forgotten are the concatenative languages ​​with their most famous programming language Joy, which has found many imitators.

Purpose of dot-free programming and languages

Although the point-free style - especially observed in Joy - can lead to an "obfuscation" of the source code, this style also has some mathematical advantages over languages ​​that are only limited to lambda variables. The closed character of a point-free programming language enables an "algebra of programming", that is, a mathematical processing of the source code , similar to how one gets taught in school for the term transformation of equations. This means that nothing stands in the way of the mathematical treatment of the programs if attention was paid to the referential transparency of the language.

Known dot-free programming languages

Web links

References

  1. ^ John Backus: Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs . Ed .:. In: Communications of the ACM. Vol. 21, No. 8, August 1978, pp. 613-641. ( online [PDF]).
  2. Point Free - HaskellWiki. Retrieved April 24, 2020 .
  3. Obfuscation - HaskellWiki. Retrieved May 3, 2020 .
  4. ^ Richard Bird and Oege de Moor: Algebra of Programming. Prentice Hall Europe, 1997, accessed May 3, 2020 .