我正在寻找类似于更高类型多态性的解释,其中一种类型只是一组谓词类型。
答案 0 :(得分:6)
一种类型的等级描述了通用量词出现逆转的深度(Kfoury& Tiuryn,1992):
Monotypes τ, σ(0) ::= a | τ1 → τ2
Polytypes σ(n+1) ::= σ n | σ n → σ(n+1) | ∀a.σ(n+1)
以下是一些例子:
Int → Int Rank 0
∀a.a → a Rank 1
Int → (∀a.a → a) Rank 1
(∀a.a → a) → Int Rank 2
https://functionalprogramming.slack.com/archives/C0432GV99/p1509647117000276