安全高级特性:编码视角下的类型系统探索
1. 背景与目标
在带会话类型的 π - 演算中,已经添加了不同的类型特性。例如,在相关研究中添加了(递归)会话类型的子类型关系,还进一步扩展到有界多态性,甚至添加了高阶原语以允许通道和进程的移动性。然而,当添加新的类型特性时,通常会在标准 π 类型和会话类型的语法类别上都进行添加,这导致了语法和理论上的冗余,使得语言属性的证明变得复杂。我们的目标是探究这种冗余的必要性,并通过对编码的分析和扩展来展示其鲁棒性。
2. 子类型化
2.1 子类型规则
- 会话类型的子类型规则 :
- (S - Bool) 和 (S - End) 分别表明布尔类型和终止通道类型上子类型的自反性。
- (S - Inp) 规定输入会话类型的子类型在有效负载类型上是协变的,在延续类型上也是协变的。
- (S - Out) 指出输出会话类型的子类型在有效负载类型上是逆变的,在延续类型上是协变的。
- (S - Brch) 和 (S - Sel) 类似,表明子类型在传输值的类型深度上是协变的,(S - Brch) 在广度上是协变的,(S - Sel) 在广度上是逆变的。
- 标准 π 演算类型的子类型规则 :
- (Sπ - Refl) 和 (Sπ - Trans) 表明子类型是一个预序。
- (Sπ - ii) 和 (Sπ - oo) 分别定义了输入和输出通道
超级会员免费看
订阅专栏 解锁全文
4804

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



