Joy is a purely functional programming language devised by ManfredVonThun. Whereas all other functional programming languages are based on the application of functions to arguments, Joy is based on the composition of functions. Every Joy function is unary, taking a stack as argument and producing a stack as value. Consequently much of Joy looks like ordinary postfix notation. In Joy's syntax, composition of functions is simply concatenation of the text of the functions. For this reason, Joy can be referred to as a ConcatenativeLanguage.
See http://www.latrobe.edu.au/phimvt/joy.html (Official site), but also mirrored (mostly) at http://www.kevinalbrecht.com/code/joy-mirror/
So, for example, in the program fragment
3 4 +
3 denotes the function which pushes 3 onto a stack, similarly for 4, and + denotes the function which replaces the top two values on a stack with their sum. 3 4 + is their composition [which in traditional mathematical notation might be denoted "lambda s . +(4(3(s)))"], and is equivalent to the function 7.
something I wrote.. which I'm not quite sure is correct.
-- ShaeErissonSo... was the language so named because it's a joy to use, or was it named after BillJoy?-- ScottJohnson
It algebraic properties are so clean that I argue that either Joy or a Joy derivative must cosmically speaking rule the programming world.
If it's easy to do program proving, it is easy to write bug free programs.
If it's supremely simple to programatically manipulate, then many powerful tools to lint, debug, inspect, instrument, refactor it will evolve.