9
การลบคริสตจักร
การลบคริสตจักร แลมบ์ดาแคลคูลัสเป็นที่สนใจของฉันมาโดยตลอดและพฤติกรรมฉุกเฉินของการส่งผ่านหน้าที่ต่าง ๆ เข้ามามีความซับซ้อนอย่างน่ายินดี เลขคริสตจักรเป็นตัวแทนของตัวเลขธรรมชาติที่สร้างขึ้นจากการใช้ฟังก์ชั่นซ้ำ ๆ (โดยปกติจะเป็นการเพิ่มค่าคงที่แบบเอกภาพ) ตัวอย่างเช่นจำนวนศูนย์ส่งคืน x และ "ละเว้น" ฟังก์ชันอินพุตหนึ่งคือf(x)สองคือf(f(x))และต่อไปนี้: ident = lambda x: x zero = lambda f: ident succ = lambda n: lambda f: lambda x: f(n(f)(x)) one = succ(zero) add1 = lambda x: x + 1 to_int = lambda f: f(add1)(0) print(to_int(one)) >>> 1 จากนี้เราสามารถเห็นได้อย่างง่ายดายว่าการเติมนั้นทำได้โดยใช้ฟังก์ชันแรกกับ …