... war die Idee
UNIQUE zur APL-Grundfunktion zu erheben. Dies war schon im APL2 IUP der Fall. Aber nicht nur dort:
Vor mehr als einem Jahr, mit
Version 6.2, wurde der Sprachumfang von APL-Win um eine Unique-Funktion erweitert. Ich fand das und finde das immer noch nachahmenswürdig.
Beide APL implementieren ein "Unique", die jeweiligen Funktionen unterscheiden sich allerdings in einem wesentlichen Punkt:
Das Ergebnis des APL2 IUP "Unique" ist eine boolesche Maske, mit der das jeweils erste Auftreten der unterschiedlichen Elemente einer APL-Struktur markiert wird. Mit der hiermit definierten Funktion ∩ gilt dann für Vektoren x
(∩x) ≡ (x⍳x)=⍳⍴x
Das Ergebnis des APL+Win "Unique" enthält die verschiedene Elemente eines Vektor jeweils einmal in der Reihenfolge ihres Auftretens im vorgegebenen Vektor, also
(∪x) ≡ ((x⍳x)=⍳⍴x)/x