Rust claims to advance industrial programming by bridging the gap between low-level systems programming and high-level application programming. At the heart of the argument that this enables programmers to build more reliable and efficient software is the borrow checker - a novel approach to ownership that aims to balance type system expressivity with usability. And yet, to date there is no core type system that captures Rust's notion of ownership and borrowing, and hence no foundation for research on Rust to build upon. In this work, we set out to capture the essence of this model of ownership by developing a type systems account of Rust's borrow checker. We present Oxide, a formalized programming language close to source-level Rust (but with fully-annotated types). This presentation takes a new view of lifetimes as an approximation of the provenances of references, and our type system is able to automatically compute this information through a substructural typing judgment. We provide the first syntactic proof of type safety for borrow checking using progress and preservation. Oxide is a simpler formulation of borrow checking - including recent features such as non-lexical lifetimes - that we hope researchers will be able to use as the basis for work on Rust.


翻译:要求通过缩小低层次系统编程和高层次应用编程之间的差距来推进工业编程。 使程序设计者能够建立更可靠、更高效的软件的论点的核心是借入检查器—— 一种旨在平衡系统表达性和可用性的新颖的所有权方法。 然而,迄今为止,还没有一种核心类型系统能够捕捉鲁斯特的所有权和借款概念,因此也没有关于鲁斯特的研究基础。 在这项工作中,我们开始通过开发一个 Rust 借取检查器的型系统账户来捕捉这种所有权模式的精髓。 我们介绍了一种正式的编程语言Oxide,一种与源层Rust 相近的正式编程语言(但带有充分注释的类型 ) 。 这个演示对生命期的新看法是参照源的近似值, 而我们的类型系统能够通过亚结构化的打字判断来自动校准这些信息。 我们提供了第一个关于使用进步和保存来借取类型安全性的合成证据。 Oxide 是一个简单的借取检查公式, 包括最近一些非弹性的特征, 我们希望研究人员能够使用Rus的基础。

0
下载
关闭预览

相关内容

Rust 是一种注重高效、安全、并行的系统程序语言。
专知会员服务
38+阅读 · 2020年9月6日
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
70+阅读 · 2020年8月2日
专知会员服务
59+阅读 · 2020年3月19日
深度强化学习策略梯度教程,53页ppt
专知会员服务
176+阅读 · 2020年2月1日
强化学习最新教程,17页pdf
专知会员服务
168+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
99+阅读 · 2019年10月9日
计算机 | 入门级EI会议ICVRIS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年6月24日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
人工智能 | ISAIR 2019诚邀稿件(推荐SCI期刊)
Call4Papers
6+阅读 · 2019年4月1日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
已删除
将门创投
7+阅读 · 2018年10月12日
美国化学会 (ACS) 北京代表处招聘
知社学术圈
11+阅读 · 2018年9月4日
Arxiv
0+阅读 · 2021年12月16日
Arxiv
0+阅读 · 2021年12月15日
Arxiv
3+阅读 · 2021年11月1日
Arxiv
14+阅读 · 2020年12月17日
Arxiv
14+阅读 · 2020年2月6日
The Measure of Intelligence
Arxiv
6+阅读 · 2019年11月5日
AutoML: A Survey of the State-of-the-Art
Arxiv
68+阅读 · 2019年8月14日
VIP会员
相关VIP内容
专知会员服务
38+阅读 · 2020年9月6日
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
70+阅读 · 2020年8月2日
专知会员服务
59+阅读 · 2020年3月19日
深度强化学习策略梯度教程,53页ppt
专知会员服务
176+阅读 · 2020年2月1日
强化学习最新教程,17页pdf
专知会员服务
168+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
99+阅读 · 2019年10月9日
相关资讯
计算机 | 入门级EI会议ICVRIS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年6月24日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
人工智能 | ISAIR 2019诚邀稿件(推荐SCI期刊)
Call4Papers
6+阅读 · 2019年4月1日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
已删除
将门创投
7+阅读 · 2018年10月12日
美国化学会 (ACS) 北京代表处招聘
知社学术圈
11+阅读 · 2018年9月4日
相关论文
Top
微信扫码咨询专知VIP会员