Applicative programming language

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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[edit]

References[edit]

  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. 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.