2017-01-31 20 views
0

我有以下lambda表達式免費的拉姆達的X:爲什麼

x λ x. x 

這是一個功能的應用程序,但爲什麼x是自由變量?

回答

4

x在lambda中不是免費的,但它在lambda之外是免費的。或者更簡單地說,在

x (\y. y) 

x是免費的,但y不是。當沒有封閉的lambda綁定它們時,變量是自由的;因爲根本沒有包含x的lambda,所以肯定沒有包含x的lambda,它也綁定x

+0

怎麼樣?(λx。x(λy。x y z y)x)x y',是第二個lambda內部的「x」嗎?我認爲不是,因爲它綁定到外層lambda? –

+1

@zero_coding你完全正確。 –