Jump to content

Applicative programming language

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Quuxbazbarfoo (talk | contribs) at 18:11, 28 April 2020 (Remove external link to "Applicative programming with effects"). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In the classification of programming languages, an applicative programming language is built out of functions applied to arguments. Applicative languages are functional, and applicative is often used as a synonym for functional.[2] However, concatenative languages can be functional, while not being applicative.[3]

The semantics of applicative languages are based on beta reduction of terms, and side effects such as mutation of state are not permitted.[4]

Lisp and ML are applicative programming languages.

See also

References

  1. ^ McBride, Conor; Paterson, Ross (2008-01-01). "Applicative programming with effects". Journal of Functional Programming. 18 (1): 1–13. CiteSeerX 10.1.1.114.1555. doi:10.1017/S0956796807006326. ISSN 1469-7653.
  2. ^ Dershowitz, Nachum; Plaisted, David A. (1985). "Logic Programming cum Applicative Programming". Symposium on Logic Programming. Boston, MA. pp. 54–66.
  3. ^ Jon Purdy (12 February 2012). "Why Concatenative Programming Matters". Retrieved 28 April 2020.
  4. ^ Backus, J. (1978). "Can programming be liberated from the von Neumann style?: A functional style and its algebra of programs". Communications of the ACM. 21 (8): 613. doi:10.1145/359576.359579.