-1
在系統F,就是以下3種類型之間的差異:這些多態類型之間的區別是什麼?
轉載的文字在這裏:
∀X.((X → X) → (X → X))
∀X.((X → X) → ∀X.(X → X))
((∀X.X → X) → (∀X.X → X))
是第二個更普遍比第一?
在系統F,就是以下3種類型之間的差異:這些多態類型之間的區別是什麼?
轉載的文字在這裏:
∀X.((X → X) → (X → X))
∀X.((X → X) → ∀X.(X → X))
((∀X.X → X) → (∀X.X → X))
是第二個更普遍比第一?
取決於量詞結合的程度。讓我們假設它綁定到下一個終端表達式(變量或()
-block)。
第一個將變成(X0 -> X0) -> (X0 -> X0)
其中X0
是一個新鮮的類型變量。
第二個將變成(X0 -> X0) -> forall X1. (X1 -> X1)
其中X0
和X1
是新鮮的。
第三個 - (bot -> X) -> (bot -> X)
其中X
是舊綁定,bot是無人居住的forall X. X
。
Downvote不是我,但我認爲你應該在cs.stackexchange.com上提問。 –
我也沒有,但CS可能更適合 - 這不是關於Haskell。另外,我會從alpha轉換這些量詞開始...... – chi
你是否意味着在所有的時候我都可以用b來代替它? – yonutix