多态类型环境计算:概念、系统与应用
1. 引言
随着互联网的发展,移动计算和支持它的编程语言研究备受关注。理论研究方面,出现了多种并发和分布式计算模型,如分布式联合演算、Dπ 演算、盒 - π 演算、密封演算等。环境演算(Ambient Calculus,简称 AC)是其中较新的一种,也是本文研究的起点。
我们的长期目标是设计和实现一种用于移动计算的强类型编程语言,而研究 AC 是实现这一目标的一部分。为了在不牺牲强类型优势的前提下,实现更高的模块化和更自然的编程风格,使环境具有多态类型是重要的一步。
早期的 AC 类型系统限制环境为单态,即一个环境在其存在期间只能有一个“对话主题”(交换数据的类型)。下面介绍 4 种环境可以被认为是多态类型的情况:
- 情况 1:参数多态
p|[ in r.⟨even, 3⟩]| || q|[ in r.⟨not, true⟩]| || r|[ (f, x). n|[ ⟨f x⟩|| P ]| || open p || open q ]|
这里有 3 个并行的环境 p、q 和 r,r 内还有一个环境 n。p 和 q 可以移动到 r 中,进入后可被溶解以释放输出。r 内输入对 (f, x) 的类型可以是 (int → bool, int) 或 (bool → bool, bool),取决于先传输的是 ⟨even, 3⟩ 还是 ⟨not, true⟩,但无论哪种情况,应用 (f x) 的类型都是 bool。r 的多态性本质上是 ML 中常见的参数多态。
-
超级会员免费看
订阅专栏 解锁全文
699

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



