Applicative programming language (original) (raw)

From Wikipedia, the free encyclopedia

Not to be confused with applicative functors, introduced in the paper "Applicative programming with effects"[1].

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 effect such as mutation of state are not permitted.[4]

Lisp and ML are applicative programming languages.

  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 (inactive 2024-11-20). ISSN 1469-7653.{{[cite journal](/wiki/Template:Cite%5Fjournal "Template:Cite journal")}}: CS1 maint: DOI inactive as of November 2024 (link)
  2. ^ Dershowitz, Nachum; Plaisted, David A. (1985). "Logic Programming cum Applicative Programming". Symposium on Logic Programming. Boston, MA. pp. 54–66. CiteSeerX 10.1.1.404.3826.
  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–641. doi:10.1145/359576.359579.