中文

可变值语义的原生实现

编程语言 2021-06-25 v1

摘要

对共享状态的无限制修改是许多众所周知的问题的根源。主流的安全解决方案是纯函数式编程(彻底禁止修改)和流敏感类型系统(依赖于复杂的类型规则)。可变值语义是第三种方法,它禁止共享而非禁止修改,从而支持按部分就地修改和局部推理,同时保持简单的类型系统。在可变值语义的最纯粹形式中,引用是二等公民:它们仅在函数边界处隐式创建,不能被存储在变量或对象字段中。因此,变量永远不能共享可变状态。由于引用常被视为编写高效程序不可或缺的工具,人们有理由怀疑这样一种规范能否与其他方法竞争。作为回答该问题的基础,我们展示了如何将具备可变值语义的语言编译为高效的原生代码。该方法依赖于栈分配以实现静态垃圾回收,并利用运行时知识来规避不必要的拷贝。

关键词

引用

@article{arxiv.2106.12678,
  title  = {Native Implementation of Mutable Value Semantics},
  author = {Dimitri Racordon and Denys Shabalin and Daniel Zheng and Dave Abrahams and Brennan Saeta},
  journal= {arXiv preprint arXiv:2106.12678},
  year   = {2021}
}

备注

4 pages; to be published at ICOOOLPS 2021