ใช่มันเป็นสิ่งเดียวกัน
Currying เป็นแนวคิดจาก -calculus มันเป็นความเปลี่ยนแปลงระหว่าง× B → Cและ→ ( B → C ) คิดว่านี่เป็น "ถ้าเรามีฟังก์ชั่นสองข้อโต้แย้งของประเภทAและBจากนั้นเราอาจแก้ไขอาร์กิวเมนต์แรก (ของประเภทA ) และเราจะได้รับฟังก์ชั่นของอาร์กิวเมนต์ที่เหลือ (ของประเภทB )" ในความเป็นจริงการเปลี่ยนแปลงนี้เป็นมอร์ฟิซึ่มส์ นี้จะทำอย่างแม่นยำทางคณิตศาสตร์โดยแบบจำลองทางคณิตศาสตร์ของ (พิมพ์) λแคลคูลัสซึ่งเป็นคาร์ทีเซียนประเภทปิดλA × B → CA → ( B → C))ABABλ
มีหมวดหมู่ของชุดตัวเลข ชุดที่มีหมายเลขคือคู่โดยที่Aเป็นชุดและν A : N → Aเป็นการคาดการณ์บางส่วนเช่นแผนที่จากตัวเลขไปยังAซึ่งอาจไม่ได้กำหนด หากν ( n ) = xแล้วเราบอกว่าnเป็นรหัสของx ในทฤษฎีการคำนวณมีตัวอย่างมากมาย เมื่อใดก็ตามที่เราเข้ารหัสข้อมูลด้วยตัวเลขเราจะได้รับชุดตัวเลข ตัวอย่างเช่นมีหมายเลขมาตรฐาน( A , νA)AνA: N → AAνA( n ) = xnxของฟังก์ชั่นคำนวณบางส่วนเพื่อให้ φ n ( k )เป็นจำนวนคำนวณโดยฟังก์ชันคำนวณบางส่วนเข้ารหัสโดย nเมื่อนำไปใช้k (ผลลัพธ์อาจไม่ได้กำหนด)φφn( k )nk
มอร์ฟิซึ่มส์ของเซตตัวเลขคือแผนที่ที่รับรู้ , ซึ่งหมายความว่ามีn ∈ N อยู่เช่นนั้นf ( ν A ( k ) ) = ν B ( φ n ( k ) )สำหรับทุกkประสิทธิภาพของν สิ่งนี้ดูซับซ้อน แต่ทั้งหมดบอกว่ามันคือφ nฉ: ( A , νA) → ( B , νB)n ∈ Nฉ( νA( k ) ) = νB( φn(k))kνAφnทำรหัสสิ่งที่ทำกับองค์ประกอบ มันเป็นวิธีทางคณิตศาสตร์ของบอกว่า "โปรแกรมφ nดำเนินการทำงานฉ "ฉφnฉ
นี่คือมุก: หมวดหมู่ของชุดตัวเลขถูกปิดคาร์ทีเซียน ดังนั้นเราจึงอาจตีความพิมพ์ -calulus ในนั้นและขอให้สิ่งที่ดำเนินการโปรแกรมการดำเนินงาน currying คำตอบคือ: โปรแกรมที่กำหนดโดยทฤษฎีบท smnλ