Menurut pemahaman saya, fungsi parsial adalah fungsi yang kita dapatkan dengan melewatkan lebih sedikit parameter ke fungsi daripada yang diharapkan. Misalnya, jika ini secara langsung valid dengan Python:
>>> def add(x,y):
... return x+y
...
>>> new_function = add(1)
>>> new_function(2)
3
Dalam cuplikan di atas, new_functionadalah fungsi parsial. Namun, menurut Haskell Wiki , definisi fungsi parsial adalah
Fungsi parsial adalah fungsi yang tidak didefinisikan untuk semua argumen yang mungkin dari tipe yang ditentukan.
jadi, pertanyaan saya adalah: apa sebenarnya yang dimaksud dengan "fungsi parsial"?
partialmelakukan aplikasi parsial , sedangkan Haskell melakukannya secara otomatis. Entri wiki mengacu pada fungsi parsial , yang merupakan istilah dari matematika.
add 3 5bukan aplikasi fungsi tunggal. Ini berlaku pertama adduntuk 3 untuk mendapatkan fungsi baru, yang kemudian diterapkan ke 5.
partialmetode adalah deklarasi maju dari metode pribadi yang diimplementasikan secara opsional di tempat lain dalam basis kode proyek.
new_function = functools.partial(add, 1)