Nach meinem Verständnis sind Teilfunktionen Funktionen, die wir erhalten, wenn wir weniger Parameter an eine Funktion übergeben als erwartet. Wenn dies beispielsweise in Python direkt gültig wäre:
>>> def add(x,y):
... return x+y
...
>>> new_function = add(1)
>>> new_function(2)
3
Im obigen Snippet new_functionist eine Teilfunktion. Laut Haskell Wiki ist die Definition der Teilfunktion jedoch
Eine Teilfunktion ist eine Funktion, die nicht für alle möglichen Argumente des angegebenen Typs definiert ist.
Meine Frage ist also: Was genau ist mit "Teilfunktion" gemeint?
partialführt eine Teilanwendung durch , während Haskell dies automatisch tut. Der Wiki-Eintrag bezieht sich auf Teilfunktionen , ein Begriff aus der Mathematik.
add 3 5ist keine Einzelfunktionsanwendung. Dies gilt zuerst für add3, um eine neue Funktion zu erhalten, die dann auf 5 angewendet wird.
partialMethode eine Vorwärtsdeklaration einer optional implementierten privaten Methode an anderer Stelle in der Projektcodebasis.
new_function = functools.partial(add, 1)