这里是 MoonBit 的编译器。MoonBit 是一个用户友好,构建快,产出质量高的编程语言。
构建一个编程语言是一个漫长的旅程。Rust 和 Go 分别用了 9 年和 5 年到达 1.0 版本。MoonBit 由一个年轻而有干劲的团队开发,正在稳步前进。我们明白,社区的采用和扩展对编程语言来说十分关键,并且我们也致力于打造一个围绕 MoonBit 的积极参与、合作共赢的社区。到目前为止,我们已经开源了标准库和绝大多数工具,包括构建系统,词法分析,markdown 解析等,将来还会有更多项目。开放编译器源代码对于安全来说十分重要。开源 Wasm 后端是重要一步,并且我们计划在将来开源更多组建( moonfmt、moondoc )。
- OCaml 4.14.2
- OPAM
使用下列脚本构建
opam switch create 4.14.2
opam install -y dune
dune build -p moonbit-lang
这个项目正在快速演进,因此还没有准备好接受大量社区贡献。
如果你有兴趣贡献,首先,十分感谢!
请签署 CLA。 对于小的 Bug 修复,欢迎向我们的邮箱发送补丁。对于大的贡献,推荐先在我们的论坛进行讨论。
MoonBit 采用 MoonBit Public License,一个放宽的 SSPL (Server Side Public License)。有两个关键的区别:
- 用户可以任意选择许可证来对 MoonBit 编译器构建的产物进行许可。用户可以自由使用他们的 MoonBit 源代码以及生成的产物。
- 允许以非商业目的对编译器的修改。
虽然我们拥抱开放,出于下列两个原因,我们没有选择完全开放的许可证,而是选择了放宽后的 SSPL:
- MoonBit 依然在 beta-preview 的阶段。在这个阶段引入分叉可能影响项目的稳定。我们希望达到一个更成熟、更稳定的状态后接受社区贡献。
- 我们希望避免大型云服务商利用团队的成果进行商业化。
在过去两年中,我们的团队努力改进 MoonBit 和它的工具链,始终守护我们的愿景:开发一个快速、简单、高效的编程语言。通过开源 MoonBit,我们希望可以让我们的用户相信,我们致力于 MoonBit 的增长和创新。我们同时希望我们的用户可以放心,MoonBit 不会采用 open-core 的模式,所有的 MoonBit 用户都会获得最好的开发编译器和 IDE 支持。 MoonBit 团队的愿景是通过云平台服务以及硬件 SDK 等来获得持续增长。
我们十分感谢社区对我们的支持。
特别感谢 Jane Street 的优秀的 PPX 库,这个仓库使用了一些他们的 PPX 函数。