Joy ist eine funktionale Programmiersprache, in der konsequent die umgekehrte polnische Notation verwendet wird.
Joy wurde von Manfred von Thun, tätig an der La Trobe University in Melbourne (Australien), entwickelt. Der Kerngedanke ist die Komposition von Funktionen, wobei eine Reihe von Kombinatoren zur Verfügung steht. In einfachen Fällen sieht JOY-Code wie FORTH aus, die Aussagekraft ist jedoch weitaus mächtiger, da Datenstrukturen (und gleichermaßen Programmstrukturen) beliebiger Komplexität auf dem Stack (Stapel) verarbeitet werden können.
Beispiel: Fakultät (unter Benutzung des Kombinators für primitive Rekursion):
DEFINE fak == [1] [*] primrec
Aufrufbeispiel:
5 fak
was so zu verstehen ist: