[英]What makes a variable 'not appear free' in a lambda expression
Philip Wadler的Monad中第11頁的函數式編程指出:
一個單子的操作滿足三個定律。
...
聯想 。 計算
m
,將結果綁定到a
,計算n
,將結果綁定到b
,計算o
。 在這樣的計算中,括號的順序無關緊要。m★(λa。n★λb。o)=(m★λa。n)★λb。 o。變量a的范圍包括o在右邊的左邊,但不包括O,所以只有當一個沒有出現在鄰自由這部法律是有效的。
是什么使變量在這種情況下“顯得自由”?
a
沒有出現在自由o
如果(且僅當)所有出現a
在o
是結合拉姆達內a
。
例如,如果o = \\a. a
o = \\a. a
或o = x
( a
根本不出現), a
在o
中不自由出現,但是如果o = a
或o = \\b. ab
o = \\b. ab
, a
確實是免費的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.