ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ lambda

basic lambda calculus - Part 1

basic definition ของ lambda calculus เหมือนเอาเรื่องเก่ามาเล่าใหม่ ตามความเห็นส่วนตัว เหมือน เรื่องฟังก์ชั่น ที่เปลี่ยน annotation เท่านั้นเอง ดูตัวอย่างก่อน แล้วค่อยดู definition จะเข้าใจง่าย Basic - f ( x ) = x + 2 เขียนได้เป็น λ x . x + 2 เนื่องจากในฟังก์ชั่น อาจจะไม่ใช้ชื่อตัวแปรเป็น x ก็ได้ เช่น f(y) = y + 2 ดังนั้นเราอาจเขียนเป็น λ y . y + 2 ; - f (3) เขียนได้เป็น (λ x . x + 2) 3 หรือ ( λ x . x + 2 )(3) - มาดูพวกฟังก์ชั่นสองตัวแปรกันบ้าง f ( x , y ) = x - y เขียนได้เป็น λ x . λ y . x - y หรือจะเขียนย่อๆ ก็ได้ λ x y . x - y - argument นอกจากจะเป็นตัวเลขแล้วยังสามารถส่งเป็นฟังก์ชั่น ได้ด้วย เช่น λ f . f 3 รับพารามิเตอร์เป็นฟังก์ชั่น แล้วหา f(3) ประโยคข้างล่างนี้เราส่ง f(x) = x + 2 เข้าไป ทั้งสามประโยคนี้ เหมือนกัน (λ f . f 3) (λ x . x + 2) (λ x . x + 2) 3 3 + 2 ------------------------ Definition Lambda expressions ประกอบด้วย ตัวแปร v 1 , v 2 , . . . v n λ และ . วงเล็บ ( ) ให้ Λ = เซตของ lambda expressions ซึ่งมีสมาชิกดังนี้ ตัวแปร v ( v ∈ Λ ) λ ...