我正在通過Types and Programming Languages進行工作,而針對按價值降低策略調用的皮爾斯給出了術語id (id (λz. id z))
的示例。內部redex id (λz. id z)
首先減少爲λz. id z
,在外部redex減少爲正常形式λz. id z
之前,由於第一次減少而給出id (λz. id z)
。在lambda微積分值中調用
但是,按價值順序調用的定義是'只有最外面的索引被減少','只有右手邊已經減少到一個值時索引才被減少'。在示例中,id (λz. id z)
出現在最外面的redex的右側,並且被縮小。這是如何與只有最外層redexes減少的規則平方?
「最外層」和「最內層」僅僅是指lambda抽象的答案嗎?所以對於一個術語t
在λz. t
,t
不能被減少,但是在一個redex s t
,t
減小到v
如果這是可能的話,然後s v
減少?
一個更簡單的例子是(λx.x)(x),因爲右側不能被進一步評估,所以它被阻塞在值的調用中。 – dominik 2015-03-02 00:21:03