De acordo com meu entendimento, funções parciais são funções que obtemos ao passar menos parâmetros para uma função do que o esperado. Por exemplo, se isso fosse diretamente válido em Python:
>>> def add(x,y):
... return x+y
...
>>> new_function = add(1)
>>> new_function(2)
3
No trecho de código acima, new_function
é uma função parcial. No entanto, de acordo com o Wiki de Haskell , a definição de função parcial é
Uma função parcial é uma função que não está definida para todos os argumentos possíveis do tipo especificado.
então, minha pergunta é: o que exatamente se entende por "função parcial"?
partial
realiza aplicação parcial , enquanto o Haskell faz isso automaticamente. A entrada wiki refere-se a funções parciais , que é um termo da matemática.
add 3 5
não é um aplicativo de função única. Este primeiro aplica-se add
a 3 para obter uma nova função, que é então aplicada a 5.
partial
método é uma declaração direta de um método privado opcionalmente implementado em outra parte da base de código do projeto.
new_function = functools.partial(add, 1)