引用
艾哈迈德、阿马尔、马修·福莱特和格雷格·莫里塞特。2005.子结构状态的阶跃指数模型。哈佛计算机科学小组技术报告TR-16-05。
摘要
“独特”对象的概念出现在许多新兴编程语言中,如Clean、CQual、Cyclone、TAL和Vault。在每一个系统中,独特的对象都可以执行本来禁止的操作(例如,释放对象)或确保履行某些义务(例如,关闭打开的文件)。然而,不同的语言对“独特性”有不同的解释,并且对于独特对象如何与语言的其他部分交互有不同的规则。我们的目标是通过允许我们编码和研究不同形式的独特性的交互作用,建立一个支持每种语言的通用模型。我们提供的模型基于多态λ-演算的子结构变体,增加了四种可变引用:不受限制的、相关的、仿射的和线性的。该语言具有自然的操作语义,支持释放引用、强(类型-数组)更新以及在共享引用中存储唯一对象。我们通过构建一个新颖的类型语义解释来建立类型系统的强大可靠性。本技术报告实际上是两个文件合一:第一部分是出现在第十届ACM SIGPLAN国际功能编程会议(ICFP'05)上的一篇论文。第二部分是语言的形式化发展,步骤诱导模型,以及第一部分中引用的稳健性证明。如果您已经阅读了“子结构状态的阶跃索引模型”的版本,则应直接阅读附录。