Según tengo entendido, las funciones parciales son funciones que obtenemos al pasar menos parámetros a una función de lo esperado. Por ejemplo, si esto fuera directamente válido en Python:
>>> def add(x,y):
... return x+y
...
>>> new_function = add(1)
>>> new_function(2)
3
En el fragmento anterior, new_functiones una función parcial. Sin embargo, de acuerdo con Haskell Wiki , la definición de función parcial es
Una función parcial es una función que no está definida para todos los argumentos posibles del tipo especificado.
Entonces, mi pregunta es: ¿qué se entiende exactamente por "función parcial"?
partialrealiza una aplicación parcial , mientras que Haskell lo hace automáticamente. La entrada wiki se refiere a funciones parciales , que es un término de las matemáticas.
add 3 5no es una aplicación de función única. Esto se aplica primero adda 3 para obtener una nueva función, que luego se aplica a 5.
partialmétodo es una declaración directa de un método privado opcionalmente implementado en otra parte de la base de código del proyecto.
new_function = functools.partial(add, 1)