ขึ้นอยู่กับส่วนของคำถามที่คุณให้ความสำคัญ ถ้ามันเป็นคุณสมบัติเฉพาะของการไม่ระบุชื่อสำหรับฟังก์ชั่นที่ไม่ระบุชื่อแน่นอนคำตอบเดียวคือพวกเขาเป็นค่าที่ไม่ถูกผูกไว้ หากคุณกำลังพูดคุยเกี่ยวกับฟังก์ชั่นทั่วไปฟังก์ชั่นที่ไม่ระบุชื่ออาจจะเป็นอาการที่มองเห็นได้มากที่สุดของการใช้งานของแลมบ์ดาแคลคูลัสในการตั้งค่าการทำงานสำหรับภาษา applicative
ในความเป็นจริงจากแลมบ์ดาแคลคูลัสมุมมองแลมบ์ดานิพจน์เป็นโครงสร้างประโยคที่ใช้ในการสร้างการผูก จำสัญกรณ์ที่ใช้ในแคลคูลัสแลมบ์ดา:
λ f. λ x ฉx
ฉxฉx
ภาษามักจะเสนอวิธีต่างๆเช่นlet
(ML เช่นภาษา, แบบแผน) หรือdefine
(แบบแผน) เพื่อสร้างการเชื่อมโยงที่ใช้งานได้ที่ระดับบนสุด (หรือภายในโครงสร้างประโยคที่ซับซ้อนกว่าฟังก์ชั่นเช่นโมดูลหรือวัตถุ) แต่เครื่องมือที่จำเป็นสำหรับ การผูกคือแลมบ์ดาที่ระดับต่ำกว่า
หากคุณดูภาษาเช่นแบบแผนหรือภาษากระเพื่อมการให้ทุนของพวกเขาคือแลมบ์ดาแคลคูลัสและรูปแบบพิเศษมากมายคือแลมบ์ดาเคลือบน้ำตาลจริง ๆ
สำหรับภาษาที่เรียงต่อกันเรื่องราวต่างกันเล็กน้อย แลมบ์ดาไม่จำเป็นและต่อต้านได้ผลจริง ประเด็นของการกำหนด lambdas นิรนามคืออะไรเมื่อทุกอย่างเป็นฟังก์ชั่น ?
มีสองอย่างใดอย่างหนึ่งระหว่างสองภาษาเหล่านี้ ต่อมาจะมุ่งเน้นไปที่การรวมฟังก์ชั่นที่เป็นอิสระและดังนั้นจึงพยายามที่จะเป็นตัวแทนของทุกอย่างในขณะที่อดีตทำงานในแคลคูลัสที่ละเอียดมากขึ้นและทำให้ความพยายามที่จะมีฟังก์ชั่นเป็นค่าชั้นหนึ่ง ในแง่นี้เราสามารถมองเห็นลูกแกะเป็นผลมาจากความพยายามนั้น
คำแนะนำในหัวข้อที่แนะนำ (ไม่ดี) ในคำตอบนี้:
- บทความของ Jon Purdy เกี่ยวกับภาษาที่เรียงต่อกัน
- การสนทนาที่เกิดขึ้นใน LtU