es fehlt das Wort "lesbarer" um auszudrücken was ich meinte.
Sicher lassen sich alle Pfade abbilden weil die am Ende ja auch nur sequenziell abgearbeitet werden, aber ich seh in der Sprache dabei keinen Vorteil gegenüber klassischen Funktionen mit beliebig vielen (!) Übergabeparametern.
Selbst übliche kleine Strukturen wie ein 3-Kanal FDN lassen sich ja zB nicht adequat
dh mit allen Kanälen gleichartig abbilden, die Struktur ist dann verworrener als
in einer herkömmlichen Programmiersprache oder in einer herkömmlichen 2D Darstellung.
Das meinte mit ich mit Nachteilen beider Darstellungen.
Vermutlich hat es den Vorteil dass es kompakter kompiliert werden kann,
aber ich denke 2022 muss mensch sich eigentlich nicht mehr an Maschine anpassen sondern andersrum, ähnlich sehe ich das eben auch mit Semikolon zB :
Der Programmierer braucht ihn nicht, der Compiler sollte ihn auch nicht brauchen.
Und zwar egal ob man mehrere Statements in einer Zeile hat oder nicht.
Als Anhänger von pipes in Programmiersprachen kommt da ein klarer Widerspruch.
Ein:
a = foo(bar)
b = foo2(a)
finde ich weniger lesbar (und mehr an die Maschine angepasst) als ein
foo(bar) : foo2
Das gilt auch für den Fall, dass man die erste Formulierung reduziert auf
foo2(foo(bar))
Menschen lesen nun mal von links nach rechts (zumindest in vielen Regionen), und pipes funktionieren wunderbar dazu.
Oder nehmen wir mal den Fall an, wir wollen in Faust parallel zwei verschiedene Effekte benutzen
in <: effekt1, effekt2 :> out
ist doch viel leichter zu lesen (nachdem man gelernt hat, das <: der spilt-operator und :> der merge-operator ist als
out1 = effekt1(in)
out2 = effekt2(in)
out = out1 + out2
Vor allem wenn in den parallel strängen noch mehr passiert, dann haben wir:
in <: effekt1 : effekt3, effekt2 : effekt4 :> out
out1 = effekt1(in)
out1b = effekt3(out1)
out2 = effekt2(in)
out2b = effekt4(out2)
out = out1b + out2b
Viel Spaß bei der Fehlersuche, wenn Du irgendwo mal doch die falsche Variable referenzierst (ich wollte z.B. spontan eben out = out1 + out2 schreiben)
Vor allem hält Dich niemand davon ab, auch letzteres in Faust zu schreiben, <: etc. sind ja eigentlich nur syntatic sugar.
Was das Semikolon angeht, ja, vielleicht könnte das vom Compiler automatisch hinzugefügt werden. Faust ist Open Source, Du kannst ja gerne versuchen das zu implementieren.