給出一個函數至少n爭論,我想使之成爲n個參數來旋轉第一個參數。例如(在無類型的lambda微積分中): r(λa. a) = λa. a
r(λa. λb. a b) = λb. λa. a b
r(λa. λb. λc. a b c) = λb. λc. λa. a b c
r(λa. λb. λc. λd. a b c d) = λb. λc. λd. λa. a b c
... partial application(或部分功能應用程序)是指將一定數量的參數固定到一個函數,產生另一個較小元數的函數的過程。 我想找出是否有以下特定的名稱:(僞代碼!) // Given functions:
def f(a, b) := ...
def g(a, b) := ...
def h(a, b) := ...
// And a construct of the f
我在理解lambda微積分運算符優先級時遇到問題。 例如以下代碼: lambda x.x z lambda y.x y
將是: lambda x. (x (z lambda y. x y))
或 lambda x. ((x z) (lambda y. x y))
? 更爲複雜的例子: (lambda x.x z) lambda y.w lambda w.w x y z
凡在上述例子
我正在通過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)。 但是,按價值順序調用的定義是'只有最外面的索引被減少','只