Hallo 1unitedpower,
da muss ich jetzt erstmal eine Weile drüber nachdenken. Und mir darüber klar werden, ob ich mir die Kopfschmerzen wirklich antun will 😂.
Immerhin habe ich eins schon kapiert: hier ist ein > zuviel 😉.
let curry2 => f => x => y => f(x,y);
Und ich habe wohl die Begriffe "Currying" und "Partieller Anwendung" durcheinandergeworfen. Meine Curry2-Funktion führt ja offenbar kein Currying durch, sondern stellt die partielle Anwendung einer zweistelligen Funktion mit einem Parameter dar.
Ob deine curry2/uncurry2 Funktionen sich auf der Ebene des generierten Codes tatsächlich aufheben (sprich: Ob Haskell das erkennt und wegoptimiert), das wäre mal eine interessante Frage.
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi