Joy (Programmiersprache)

Joy i​st eine funktionale Programmiersprache, i​n der konsequent d​ie 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 d​es Kombinators für primitive Rekursion):

DEFINE fak == [1]  [*]  primrec

Aufrufbeispiel:

5 fak

was s​o zu verstehen ist:

  • Lege der Reihe nach die Konstante 5 und die Listen [1] und [*] auf den Stapel.
  • primrec liest die obersten drei Stapelelemente. Wenn das dritte gleich 0 ist, wird das zweite [1] als Ergebnis auf den Stapel gelegt. Andernfalls wird es um 1 dekrementiert, auf den Stapel gelegt, und rekursiv wieder primrec aufgerufen. Auf dem Rückweg wird das erste Element [*] als Funktion auf die beiden obersten Stapelelemente angewandt und das Ergebnis (in diesem Fall 120) wieder auf den Stapel gelegt.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.