Viele funktionale Programmiersprachen unterstützen curried parameters. Um Curry-Funktionen zu unterstützen, sind die Parameter der Funktion im Wesentlichen ein Tupel, bei dem der letzte Parameter weggelassen werden kann, wodurch eine neue Funktion entsteht, die ein kleineres Tupel benötigt.Gibt es eine Programmiersprache, die currying durchführt, wenn benannte Parameter weggelassen werden?
Ich denke daran, eine Sprache zu entwerfen, die immer Datensätze (alias named parameters) für Funktionsparameter verwendet.
So einfache mathematische Funktionen in meinem Make glauben Sprache wäre:
add { left : num, right : num } = ...
minus { left : num, right : num } = ..
Sie in jedem Datensatz auf diese Funktionen übergeben können, solange sie diese beiden genannten Parameter haben (sie können mehr haben nur „links“ und rechts").
Wenn sie nur einen der genannten Parameter haben erstellt es eine neue Funktion:
minus5 :: { left : num } -> num
minus5 = minus { right : 5 }
ich ausleihen einige Notation von Haskell für oben.
Hat jemand eine Sprache gesehen, die das tut?
@Ken Bloom ich sehen kann, wie mit dem Begriff „Teil Funktionsvervollständigung "ist mehrdeutig. Ich meinte eigentlich "Partial Application" und hatte eine Art kognitive Dissonanz und verwendete den oben genannten Begriff. Danke, dass du das korrigiert hast. –