常见问题

这个项目的目标是什么?

我们的目标是为 JavaScript 平台提供最好的类型语言体验。

ReScript 与 BuckleScript 有什么关系?

BuckleScript 是 ReScript 的旧牌子,更加注重对 JS 的适当支持和熟悉程度,而我们以前由于需要迎合各种不同的人群,所以无法达到我们想要的程度。

ReScript 和 OCaml 的关系是什么?

我们重用并调整了优秀的类型系统和许多其他来自 OCaml 的高质量组件,以提高 JS 体验。 此外,ReScript 还提供了自己的语法、构建系统、IDE、后端、JS 互操作、额外的语言特性等。

ReScript 工具链是使用 OCaml 开发的,但是,ReScript 的版本与 OCaml 的版本是脱钩的。 ReScript 编译器可以用任何合理的现代版本 OCaml 编译器进行构建。

对于大多数 ReScript 用户来说,他们不需要学习 OCaml 或使用 OCaml 工具链,就可以从 ReScript 中受益。

ReScript 和 Reason 的关系是什么?

参考这里。Reason 是 OCaml 的一个语法层,BuckleScript 也采用了它。目前的 ReScript 编译器也支持旧的 Reason v3.6 语法,以便向后兼容。我们将长期支持它,以确保现有用户不会得到破坏性的改变。

我来自 Reason/OCaml,ReScript 会继续支持 X 吗?

请参考我们关于这个问题的博文

哪里可以看到旧版 Reason/OCaml 语法的文档?

在左边的侧边栏中把文档版本切换到 v8.0.0

ReScript 最终是否会支持本机编译(native compilation)?

我们现在的重点是可靠的 JS 支持。如果在未来有强烈的需求,我们可能会考虑它。

ReScript 的当前状态如何?

目前我们正在积极研究对编辑器的支持。

我们什么时候能得到 async/await 关键字?

请看我们在 异步 & Promise 页面中的回答。

为什么要创建一个新的语法?

现有的 Reason 语法是由不同的团队拥有的,有着不同的愿景。Reason 的目标是与 OCaml 语法 100% 兼容,并支持所有版本的 OCaml。在过去的几年中,我们得出的结论是很难在不牺牲用户体验的情况下实现这样的目标。另一个原因是,我们觉得作为一个团队,最好能有相同的愿景,这样我们就能做出更一致的决定。

谁是这个项目的维护者?

ReScript 团队(张宏波,Cheng,Cristiano,Maxim,Patrick,Ricky)。

我们有一个新的论坛;我们也会有自己的 Discord 吗?

现在没有。我们发现太多重要信息会在 Discord 中随意传递,然后在噪音中消失。我们更喜欢人们在论坛上交流,这对不太活跃的成员更友好。

ReScript 团队不再使用旧的 Discord 了,我们鼓励您将问题移至论坛。