Ironisnya, judulnya ada pada poin tetapi tidak dalam cara Anda tampaknya bersungguh-sungguh yang "adalah kalkulus lambda hanya konvensi notasi" yang tidak akurat.
Istilah Lambda bukan fungsi 1 . Mereka adalah potongan-potongan sintaksis, yaitu koleksi simbol pada halaman. Kami memiliki aturan untuk memanipulasi koleksi simbol ini, yang paling signifikan adalah pengurangan beta. Anda dapat memiliki beberapa berbeda istilah lambda yang sesuai dengan yang sama fungsi. 2
Saya akan membahas poin Anda secara langsung.
Pertama, lambda bukan nama yang digunakan kembali. Tidak hanya itu akan sangat membingungkan, tetapi kita tidak menulis λ ( x ) (atau ( λ x ) ) yang akan kita lakukan jika λ adalah nama untuk suatu fungsi, sama seperti kita menulis f( x ) . Dalam f( x ) kita bisa mengganti f (jika didefinisikan oleh istilah lambda) dengan istilah lambda menghasilkan sesuatu seperti ( λ y. y) ( x ) berarti ( λ y. y) adalah ekspresi yang dapat mewakili suatu fungsi, bukan deklarasi yang mendeklarasikan suatu fungsi (dinamaiλ atau yang lainnya). Bagaimanapun, ketika kita membebani terminologi / notasi, itu (satu harapan) dilakukan dengan cara di mana ia dapat disatukan melalui konteks, yang tentu saja tidak dapat menjadi kasus untuk istilah lambda.
Poin Anda berikutnya baik-baik saja tetapi agak tidak relevan. Ini bukan kompetisi di mana ada Syarat Tim dan Fungsi Tim, dan hanya satu yang bisa menang. Aplikasi utama istilah lambda adalah mempelajari dan memahami beberapa jenis fungsi tertentu. Polinomial bukan fungsi meskipun kita sering mengidentifikasi mereka dengan sembrono. Mempelajari polinomial tidak berarti orang berpikir bahwa semua fungsi harus polinomial, juga bukan berarti polinomial harus "melakukan" sesuatu "baru" agar layak dipelajari.
Mengatur fungsi teoretis bukan kotak hitam, meskipun mereka sepenuhnya ditentukan oleh hubungan input-output mereka. (Mereka benar - benar adalah hubungan input-output mereka.) Istilah Lambda juga bukan kotak hitam dan mereka tidak didefinisikan oleh hubungan input-output mereka. Seperti yang saya sebutkan sebelumnya, Anda dapat memiliki istilah lambda berbeda yang menghasilkan hubungan input-output yang sama. Ini juga menggarisbawahi fakta bahwa istilah lambda tidak dapat berfungsi, meskipun mereka dapat menginduksi fungsi. 2
F2 F2→ F24F2F2→ F2F22N→ 2N
Ini berlaku untuk istilah lambda juga, kita dapat menafsirkan keduanya sebagai hal selain fungsi. Keduanya juga merupakan objek yang jauh lebih bisa ditelusuri untuk dikerjakan daripada set fungsi yang tak terhitung jumlahnya. Keduanya jauh lebih komputasi daripada fungsi sewenang-wenang. Saya dapat menulis sebuah program untuk memanipulasi polinomial (dengan koefisien yang setidaknya dapat diwakili secara komputabel) dan istilah lambda. Memang, istilah lambda yang tidak diketik adalah salah satu model asli dari fungsi yang dapat dihitung. Perspektif yang lebih simbolis / sintaksis, kalkulasi / komputasional ini biasanya lebih ditekankan, terutama untuk kalkulus lambda yang tidak diketik , daripada interpretasi yang lebih semantik dari kalkulus lambda. Diketikistilah lambda adalah hal-hal yang jauh lebih mudah dikelola dan biasanya (tetapi tidak selalu) dapat dengan mudah diartikan sebagai fungsi teoretis yang ditetapkan, tetapi biasanya juga dapat diartikan ke dalam kelas yang lebih luas dari hal-hal selain fungsi daripada kalkulus lambda yang tidak diketik. Mereka juga memiliki teori sintaksis yang kaya dan hubungan yang sangat mendalam dengan logika .
1 Mungkin masalahnya mungkin terjadi sebaliknya. Mungkin Anda memiliki kesalahpahaman tentang apa fungsi itu.
DDDDD⊆ D, dan untuk kategori set tidak ada objek refleksif non-sepele. Ceritanya agak sedikit berbeda dengan istilah lambda yang diketik , tetapi masih bisa tidak sepele.
3 Jika Anda jelas tentang perbedaan ini, maka analoginya harus cukup informatif.
4 Masalah ini tidak terjadi dengan bidang karakteristik 0, seperti bilangan kompleks, real, rasional, atau bilangan bulat, sehingga perbedaannya tidak setajam, meskipun masih ada.