Joy (programming language): Difference between revisions

Content deleted Content added
Wodan58 (talk | contribs)
Citation needed
OAbot (talk | contribs)
m Open access bot: url-access updated in citation with #oabot.
 
(3 intermediate revisions by 3 users not shown)
Line 18:
 
The '''Joy programming language''' in [[computer science]] is a [[purely functional programming language]] that was produced by Manfred von Thun of [[La Trobe University]] in [[Melbourne]], [[Australia]]. Joy is based on composition of functions rather than [[lambda calculus]]. It was inspired by the [[Function-level programming|function-level programming style]] of [[John Backus]]'s [[FP (programming language)|FP]].<ref>{{cite web|title=A Conversation with Manfred von Thun|author=Manfred von Thun|url=http://www.nsl.com/papers/interview.htm|access-date=May 31, 2013|date=December 12, 2003|quote=" In the early 1980s I came across the famous Backus paper "Can programming be liberated from the von Neumann style," and I was immediately intrigued by the higher level of programming in his FP."}}</ref>
It has turned out to have many similarities to [[Forth (programming language)|Forth]], due not to design but to an independent evolution and convergence.{{Citation needed|date=October 2024}}
 
== How it worksOverview ==
 
Functions in Joy lack [[Parameter (computer science)|formal parameters]]. For example, a function that squares a numeric input can be expressed as follows:<ref>{{cite web|title=An informal tutorial on Joy |url=http://www.latrobe.edu.au/phimvt/joy/j01tut.html |url-status=dead |archive-url=https://web.archive.org/web/20111007030359/http://www.latrobe.edu.au/phimvt/joy/j01tut.html |archive-date=October 7, 2011 }}</ref>
Line 57:
* [http://www.kevinalbrecht.com/code/joy-mirror/index.html Joy homepage mirror]
* [https://github.com/Wodan58/Joy Joy source code] (GitHub-Archive)
* {{cite journal|first=Paul|last=Freneger|authorlink=Paul Freneger|title=The JOY of forth|journal=[[ACM SIGPLAN Notices]]|volume=38|issue=8|date=August 2003|url=http://portal.acm.org/citation.cfm?id=944579.944583 |pages=15–17 |doi=10.1145/944579.944583|url-access=subscription}}
* {{cite journal|first1=Manfred|last1=von Thun|authorlink1=Manfred von Tuhn|first2=Reuben|last2=Thomas|authorlink2=Reuben Thomas|title=Joy: Forth's Functional Cousin|journal=Proceedings of the 17th EuroForth Conference|url=http://www.complang.tuwien.ac.at/anton/euroforth/ef01/thomas01a.pdf|date=October 9, 2001}}
* {{Cite web| url = http://www.drdobbs.com/architecture-and-design/228701299 | author = Christopher Diggins | title = What is a Concatenative Language | date = December 31, 2008 | publisher = Dr. Dobbs | volume =33}}
* {{cite journal|first=Stevan|last=Apter|title=Functional Programming in Joy and K|journal=Vector|url=http://www.vector.org.uk/archive/v214/joy214.htm|access-date=2011-02-28|archive-url=https://web.archive.org/web/20080828115345/http://www.vector.org.uk/archive/v214/joy214.htm|archive-date=2008-08-28|url-status=dead}}
* [https://github.com/metazip/mjoy mjoy, an interpreter in Lazarus for drawings with turtle graphics] (Subset of Joy)
* [https://concatenative.org/wiki/view/Joy%20of%20Postfix Joy of Postfix Calculator App] (Subset of Joy)
 
[[Category:Programming languages]]