2016-11-15 77 views
0

Eta lambda微積分中的抽象意味着如下。lambda微積分中的Eta抽象

A function `f` can be written as `\x -> f x` 

Eta是抽象的任何用途,同時減少lambda表達式?它只是寫某些表達式的另一種方式嗎?

+0

根據您的評價策略,ETA轉換可推遲評估 – naomik

+0

感謝一個有用的方法,你可以點我一些鏈接或例子,其中有ETA的某種抽象的用例。 – user634615

+0

在嚴格的評估下,eta抽象可以用來實現着名的Y組合器。 'Y:= U(λh。λf。f(λx。h h f x))'其中U:=λf。如果沒有'x' eta抽象,嚴格的評估者將進入無限循環。 – naomik

回答

0

的ETA縮小/放大隻是,說,鑑於

f = g 

它必須是法律的後果,即對任意x

f x = g x 

,反之亦然。

因此給出:

f x = (\y -> f y) x 

我們得到的,通過測試減少右側

f x = f x 

必須是真實的。因此,我們可以得出結論

f = \y -> f y