Applicative programming language: Difference between revisions
Appearance
Content deleted Content added
Citation bot (talk | contribs) Alter: pages. Add: citeseerx. Removed URL that duplicated unique identifier. Formatted dashes. | You can use this bot yourself. Report bugs here. | Activated by Headbomb | via #UCB_webform |
Citation bot (talk | contribs) Add: doi-broken-date, authors 1-1. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Applicative computing systems | #UCB_Category 3/5 |
||
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| |
{{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|doi-broken-date=2024-11-20 |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> |
Revision as of 11:54, 20 November 2024
This article needs additional citations for verification. (April 2020) |
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
- ^ 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}}
: CS1 maint: DOI inactive as of November 2024 (link) - ^ 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.
- ^ Jon Purdy (12 February 2012). "Why Concatenative Programming Matters". Retrieved 28 April 2020.
- ^ 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.