Applicative programming language

{{More citations needed|date=April 2020}}

{{Distinguish|text=applicative functors, introduced in the paper "Applicative programming with effects"{{Cite journal|last1=McBride|first1=Conor|last2=Paterson|first2=Ross|date=2008-01-01|title=Applicative programming with effects|journal=Journal of Functional Programming|volume=18|issue=1|pages=1–13|doi=10.1017/S0956796807006326|doi-broken-date=2024-11-20 |issn=1469-7653|citeseerx=10.1.1.114.1555}}}}

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.{{cite conference|title=Logic Programming cum Applicative Programming|first1=Nachum|last1=Dershowitz|first2=David A.|last2=Plaisted|year=1985|book-title=Symposium on Logic Programming|place=Boston, MA|pages=54–66|citeseerx=10.1.1.404.3826}} However, concatenative languages can be functional, while not being applicative.{{cite web|url=https://evincarofautumn.blogspot.com/2012/02/why-concatenative-programming-matters.html|title=Why Concatenative Programming Matters|author=Jon Purdy|date=12 February 2012|access-date=28 April 2020}}

The semantics of applicative languages are based on beta reduction of terms, and Side effect such as mutation of state are not permitted.{{Cite journal | doi = 10.1145/359576.359579| title = Can programming be liberated from the von Neumann style?: A functional style and its algebra of programs| journal = Communications of the ACM| volume = 21| issue = 8| pages = 613–641| year = 1978| last1 = Backus | first1 = J. | doi-access = free}}

Lisp and ML are applicative programming languages.

See also

References