แก้ไข combinator จุดคงที่ (aka combinator Y) ในแคลคูลัสแลมบ์ดา (untyped) ( ) ถูกกำหนดเป็น:
FIX
ฉันเข้าใจวัตถุประสงค์และสามารถติดตามการใช้งานแอปพลิเคชันได้อย่างสมบูรณ์แบบ ฉันต้องการที่จะเข้าใจวิธีการแก้ไขเป็นผลมาจากหลักการแรก
นี่คือเท่าที่ฉันได้รับเมื่อฉันพยายามที่จะได้รับมันด้วยตนเอง:
- FIX เป็นฟังก์ชั่น: FIX
- การแก้ไขใช้ฟังก์ชันอื่นเพื่อทำให้เกิดการเรียกซ้ำ: FIX
- อาร์กิวเมนต์แรกของฟังก์ชั่นคือ "ชื่อ" ของฟังก์ชั่นซึ่งใช้ในกรณีที่แอปพลิเคชันแบบเรียกซ้ำมีวัตถุประสงค์ ดังนั้นสิ่งที่ปรากฏทั้งหมดของอาร์กิวเมนต์แรกเป็นควรถูกแทนที่ด้วยฟังก์ชันและฟังก์ชันนี้ควรคาดหวังว่าอาร์กิวเมนต์ที่เหลือของ (สมมติว่าใช้อาร์กิวเมนต์หนึ่งข้อ): FIX
นี่คือที่ฉันไม่ทราบวิธี "ใช้ขั้นตอน" ในการให้เหตุผลของฉัน เครื่องหมายจุดเล็ก ๆ ระบุว่าการแก้ไขของฉันหายไปบางสิ่ง (แม้ว่าฉันจะสามารถรู้ได้โดยการเปรียบเทียบกับการแก้ไข "ของจริง")
ฉันได้อ่านประเภทและภาษาการเขียนโปรแกรมแล้วซึ่งไม่ได้พยายามหามาโดยตรงและอ้างถึงผู้อ่านถึงThe Little Schemerแทน ฉันได้อ่านแล้วเช่นกันและ "การสืบทอด" ของมันก็ไม่เป็นประโยชน์ นอกจากนี้ยังเป็นน้อยของมาโดยตรงและมากขึ้นของการใช้งานของตัวอย่างที่เฉพาะเจาะจงมากและความพยายามเฉพาะกิจการเขียน recursive ฟังก์ชันที่เหมาะสมใน\