Applicative programming language: Difference between revisions
Jump to navigation
Jump to search
imported>Slappi mNo edit summary |
|||
| Line 1: | Line 1: | ||
{{More citations needed|date=April 2020}} | {{More citations needed|date=April 2020}} | ||
{{Distinguish|text=[[applicative functor|applicative functors]], introduced in the paper "Applicative programming with effects"<ref>{{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 | {{Distinguish|text=[[applicative functor|applicative functors]], introduced in the paper "Applicative programming with effects"<ref>{{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|issn=1469-7653|citeseerx=10.1.1.114.1555}}</ref>}} | ||
In the [[programming paradigm|classification of programming languages]], an '''applicative programming language''' is built out of [[Function (computer science)|functions]] applied to [[Argument (computer science)|arguments]]. Applicative languages are [[Functional programming|functional]], and applicative is often used as a synonym for functional.<ref>{{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}}</ref> However, [[concatenative languages]] can be functional, while not being applicative.<ref>{{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}}</ref> | In the [[programming paradigm|classification of programming languages]], an '''applicative programming language''' is built out of [[Function (computer science)|functions]] applied to [[Argument (computer science)|arguments]]. Applicative languages are [[Functional programming|functional]], and applicative is often used as a synonym for functional.<ref>{{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}}</ref> However, [[concatenative languages]] can be functional, while not being applicative.<ref>{{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}}</ref> | ||
| Line 14: | Line 14: | ||
==References== | ==References== | ||
{{Reflist}} | {{Reflist}} | ||
{{Programming paradigms navbox}} | |||
[[Category:Programming language classification]] | [[Category:Programming language classification]] | ||
[[Category:Applicative computing systems]] | [[Category:Applicative computing systems]] | ||
Latest revision as of 02:11, 1 January 2026
Script error: No such module "Unsubst". Script error: No such module "Distinguish".
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.[1] However, concatenative languages can be functional, while not being applicative.[2]
The semantics of applicative languages are based on beta reduction of terms, and Side effect such as mutation of state are not permitted.[3]
Lisp and ML are applicative programming languages.
See also
References
<templatestyles src="Reflist/styles.css" />
Script error: No such module "Check for unknown parameters".