Joy (programming language): Difference between revisions

Content deleted Content added
Johnwcowan (talk | contribs)
Mathematical purity: Cleaning up conflict
No edit summary
Line 1:
The
The '''Joy programming language''' is a purely [[functional programming language]] that was produced by Manfred von Thun of [[Latrobe University]] in [[Melbourne]], [[Australia]]. Joy is based on composition of functions rather than [[lambda calculus]]. It has turned out to have many similarities to [[Forth programming language|Forth]], due less to design than to a sort of parallel evolution and convergence.
 
Joy is almost unique (except for [[Function-level programming]] languages and some esoteric ones, such as [[unlambda]]) in its lack of a [[lambda calculus|lambda]] operator, and therefore lack of [[Parameter (computer science)|formal parameters]]. To illustrate this with a common example, here is how the square function might be defined in an [[imperative programming language]] ([[C programming language|C]]):
 
int square(int x) {
return x*x;
}
 
The variable x is a formal parameter which is replaced by the actual value to be squared when the function is called. Now here's how the same function would be defined in a [[functional programming|functional]] language ([[Scheme programming language|scheme]]):
 
(define square
(lambda (x)