Mojo 语言正式开源,编译器与工具链全面开放
Mojo 现已开源!
Mojo🔥 语言现已正式开源,采用 Apache 2.0 许可证(含 LLVM 例外),编译器、工具链及全部源码已发布至 modular GitHub 仓库。Mojo 上周刚达成 1.0 版本(源码稳定),此次开源涵盖整个编译器与工具链。目前暂不接受编译器相关贡献,计划年底前开放,标准库自 2024 年起已接受社区贡献。
Mojo 从闭源编译器转为可自行构建的工具链,开发者能直接查看和修改标准库实现,减少对厂商二进制分发的单一依赖。
Mojo🔥 现已开源!
.png&mode=full&exp=1790899200&sig=4520000c02becca0)
Modular 团队

公司
我们很高兴地宣布,Mojo🔥 语言现已完全开源,采用 Apache 2.0 许可证(含 LLVM 例外条款)!Mojo 编译器、工具链以及构建该语言所需的一切其他内容的源代码,现已在 我们的 modular GitHub 仓库中提供。
Mojo 语言是一次大胆的押注:一门新颖的通用编程语言,比以往的语言走得更远。Mojo 融合了编译器与编程语言研究的最新成果,以释放 GPU、AI 加速器及其他先进算力的潜力。过去四年间,Mojo 一直以开放社区、闭源编译器的方式开发。上周,Mojo 达到了 1.0(具备源码稳定性),而今天,我们非常激动地将整个编译器和工具链开源。
Apache 2:宽松许可证
Apache 2.0 许可证是编程语言和编译器的黄金标准,因为它为各类应用场景提供了极大的灵活性。该许可证的 LLVM 例外条款进一步扩展了这些自由,便于构建和分发由 Mojo 编译而成的二进制文件。我们希望你能在尽可能多的应用场景中采用和使用 Mojo。
我们的开源策略是有意为之的:我们发现,小而紧密的设计团队(而非委员会)最适合找到一门语言的“灵魂”,但来自更广泛社区的反馈对于避免陷入回音室效应至关重要。因此,我们首先开源了Mojo 标准库,随后发布了数十万行用 Mojo 编写的内核代码、工具和支持。我们与社区反馈和公开设计提案共同构建,现在正在开源编译器。随着 Mojo 不断成熟,我们将继续进一步开放我们的流程。
如何获取和构建编译器
Mojo 语言的全部代码现已在主 modular GitHub 仓库中提供。首先,将该仓库克隆到本地:
bash
git clone https://github.com/modular/modular.git
cd modular 然后,要从源码构建 Mojo 编译器并针对一个 Mojo 文件运行它,你可以使用单条构建命令:
bash
./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo 在 Modular,我们使用 Bazel 来管理 Mojo 和 MAX 复杂的构建流程和缓存。这一条命令将下载或构建构建 Mojo 编译器和 Mojo 标准库所需的一切。标志 --config=build-mojo 告诉构建系统使用你本地系统上的源代码从头编译所有内容。
这同样适用于使用 Mojo 标准库的场景,你可以修改编译器或库代码,并通过以下命令运行全套测试:
bash
./bazelw test --config=build-mojo mojo/stdlib/test/... 如果你不是在开发编译器本身,可以使用 --config=prebuilt-mojo 这个标志,构建系统会下载最新的 nightly 版编译器二进制发行包,从而节省一些编译时间。请注意,如果你要自定义 MAX 内核或模型,目前仍然需要一个预构建的 Mojo 编译器。
贡献
Mojo 标准库自 2024 年起就开始接受贡献,我们感谢每一位帮助推动这门语言发展的人。我们得到的一个经验教训(尤其是在当今 AI 编程的时代)是,我们需要审慎地处理贡献。因此,我们目前还没有准备好接受对编译器和工具链的贡献。我们的目标是在今年年底前开始接受对编译器和工具链的贡献,届时我们会尽可能分享更多细节。
如果你在阅读 Mojo 编译器源码时对它有任何疑问,或者想分享你正在做的事情,请加入 我们的论坛。克隆源代码,并告诉我们你正在用 Mojo 语言构建什么。我们非常期待将 Mojo 开放给全世界,看看它会如何成长!
阅读更多来自 Modular 的内容
查看所有博客
用 Modular 构建 AI 的未来
免费开始使用
查看各版本

立即注册
立即注册我们的云平台,轻松上手。

浏览开放模型
浏览我们的模型目录,或部署你自己的自定义模型
浏览模型
来源:Hacker News 热门(buzzing.cc 中文翻译) · modular.com