内涵类型分析编码详解
1. 语言选择与特性
-
源语言 λR :为避免分析量化类型,选择 λR 作为源语言,其核心是 Fω 的谓词变体。该语言将运行时类型分析的类型信息与静态类型检查的类型信息分离,使用表示类型构造器的项进行运行时分析,保留类型构造器用于类型级分析。
- 语法分类 :分为类型构造器(由种类描述)和项(由类型描述)。约定用元变量 τ 表示种类为 Ω 的构造器,用 c 表示任意构造器,种类为 Ω 的构造器 τ 可通过 T(τ) 显式转换为类型。
- 语义判断 :包括类型构造器形成、类型构造器相等、类型形成、类型相等、项形成和小步操作语义等判断。
- Typerec 和 typerec 语义 :Typerec 和 typerec 的语义如下表所示:
| 构造器/项 | 形成规则 | 操作语义 |
| — | — | — |
| Typerec[κ] | ∆⊢τ : Ω
∆⊢ci : κ
∆⊢c→: κ →κ →κ
∆⊢Typerec[κ] τ ci c→: κ | ∆⊢Typerec[κ] int ci c→ = ci : k
∆⊢Typerec κ ci c→ = c→(Typerec[κ] τ1 ci c→)(Typerec[κ] τ2 ci c→) : k |
| typerec[c] | ∆;
超级会员免费看
订阅专栏 解锁全文
8816

被折叠的 条评论
为什么被折叠?



