Ya, itu adalah hal yang sama.
Currying adalah konsep dari -calculus. Ini adalah transformasi antara dan . Anggap ini sebagai "jika kita memiliki fungsi dua argumen tipe dan , maka kita dapat memperbaiki argumen pertama (tipe ), dan kita akan mendapatkan fungsi argumen yang tersisa (tipe )". Sebenarnya, transformasi ini adalah isomorfisme. Ini dibuat secara matematis tepat dengan model matematika dari (diketik) -calculus, yang merupakan kategori tertutup kartesian .λA×B→CA→(B→C)ABABλ
Ada kategori set bernomor. Himpunan bernomor adalah pasangan mana adalah himpunan dan adalah surjection parsial , yaitu peta dari angka ke , yang mungkin juga tidak terdefinisi. Jika maka kita mengatakan bahwa adalah kode dari . Dalam teori komputabilitas ada banyak contoh. Setiap kali kami menyandikan beberapa informasi dengan angka, kami mendapatkan set bernomor. Sebagai contoh, ada penomoran standar dari fungsi yang dapat dihitung sebagian, sehingga adalah angka yang dihitung oleh fungsi sebagian yang dapat dihitung yang dikodekan oleh(A,νA)AνA:N→AAνA(n)=xnxφφn(k)n ketika diterapkan pada . (Hasilnya mungkin tidak terdefinisi.)k
Morfisme himpunan bernomor adalah peta terealisasi , yang berarti ada sedemikian rupa sehingga untuk semua dalam domain . Ini terlihat rumit, tetapi yang dikatakannya adalah melakukan kode apa yang dilakukan terhadap elemen. Ini adalah cara matematika untuk mengatakan bahwa "program mengimplementasikan fungsi ".f:(A,νA)→(B,νB)n∈Nf(νA(k))=νB(φn(k))kνAφnfϕnf
Inilah lucunya: kategori set bernomor ditutup kartesian. Karena itu, kita dapat menginterpretasikan -calulus yang diketik di dalamnya, dan menanyakan program apa yang mengimplementasikan operasi kari. Jawabannya adalah: program yang diberikan oleh teorema smn.λ