【发布时间】:2014-02-06 06:48:51
【问题描述】:
我正在对 Rust 编程语言进行一些研究,并试图找到一个权威的已发布标准(或至少是一个功能类似的文档),如 ECMA 标准或 C++ 标准或类似的东西,它定义了语言的语法和库。
这样的东西还存在吗?还是还在开发中?
如果不存在,最接近的资源是什么?
【问题讨论】:
标签: standards language-lawyer rust
我正在对 Rust 编程语言进行一些研究,并试图找到一个权威的已发布标准(或至少是一个功能类似的文档),如 ECMA 标准或 C++ 标准或类似的东西,它定义了语言的语法和库。
这样的东西还存在吗?还是还在开发中?
如果不存在,最接近的资源是什么?
【问题讨论】:
标签: standards language-lawyer rust
2014 年 1 月的初始响应,比 Rust 1.0 早一年多:
不,目前没有可靠的 Rust 正式规范。当语言进一步稳定时,它就会出现。
大多数事物都有正式的语法,但其中一些是不正确且过时的。 Rust reference manual 是最接近您想要的。 (而且代码是最正确的规范。)
不要害怕——这种情况会在未来几个月内得到改善。
2020 年 9 月更新:
在我第一次写这个答案的时候,大多数人都期望 Rust 1.0 会有一个粗略的规范——无论如何都不是正式的,也不是听起来的,而是某种规范。情况确实有所改善,并且还在继续改善(参考手册不应再有错误或过时,尽管它肯定仍然不完整),但不如提问者和其他人可能有希望。
因为在某个时候,整个社区都意识到,在短期内没有人愿意付出努力(或证明付出努力是正当的)来制定一个彻底的非正式规范,而制定正式规范是在事实上,这是一个非常深入的研究领域,因为我们不想要按原样将 ad hoc 实现形式化,而是首先创建它的合理模型(然后调整编译器以匹配该模型) .
因此优先事项发生了变化,rustc 开发人员不打算自己制定任何规范,而只是帮助其他想要实现它的人。我认为人们通常期望它最终会发生,但只是最终会发生,不会很快发生。
但取得了进展:Ralf Jung 刚刚获得博士学位,他的论文题为 Understanding and Evolving the Rust Programming Language,“介绍了两个项目,为 Rust 建立了第一个正式的基础”。
【讨论】: