跳转到内容

MoonBit

维基百科,自由的百科全书
MoonBit 月兔
编程范型多范型函数式指令式
设计者张宏波
实作者MoonBit Team, 粤港澳大湾区数字经济研究院
发行时间2023年,​2年前​(2023
型态系统静态强类型类型推断
操作系统跨平台
许可证MoonBit Public Source License,可视为更宽松的 Server Side Public License英语Server Side Public License
文件扩展名.mbt
网站www.moonbitlang.com
www.moonbitlang.cn
受影响于
RustGoOCaml

MoonBit 是由张宏波为主的团队创始,现由粤港澳大湾区数字经济研究院维护的一种专为高性能与资源效率设计的 通用型 编程语言工具链,针对 WebAssembly 进行优化。[1][2] MoonBit 的创建原因之一,在于张宏波认为现有的语言如 JavaGoRust 等难以充分发挥 WebAssembly 指令集在 云计算边缘计算 领域安全且快速的优势。在初次发布时实现对 WebAssembly 的原生支持后,MoonBit 陆续新增了对 JavaScriptNative,以及 LLVM 后端的支持。[3]

MoonBit 于 2023 年 8 月公开发布,目前处于 Beta 阶段。于 2024 年 12 月以 MoonBit Public Source License,可视为更宽松的 SSPL英语Server Side Public License,开源编译器。[3]

特性

[编辑]

MoonBit 设计准则为“快速、简单、可拓展”,支持 函数式并行式过程式 以及 面向对象 的程式设计风格。[4]

MoonBit 采用了 强类型 以及数据导向的语言设计,对 运行时编译时 性能,以及 Wasm 文件体积进行了优化,并提供了内置 调试测试、值追踪、AI 编程辅助、代码覆盖率工具测量等工具。[3]

设计理念

[编辑]

MoonBit 的语法接近 Rust,是一种 强类型 语言,具有 模式匹配、静态类型和类型推断等语言特性,从而对 数据类型 实施严格限制。不同于 Rust 无垃圾回收的设计,MoonBit 引入了 垃圾回收 器,并采用了 WasmGC 提案。[5][4]

在语言设计哲学上,创建者张宏波表示,MoonBit 同样从 Go 的“少即是多”中汲取了灵感,避免添加过多的语法。

MoonBit 设计为一门 大模型 友好的编程语言,采用实时基于语义的采样器,并通过包括安全类型系统、Wasm 沙盒安全、死代码消除的措施,确保 MoonBit 代码生成的可靠性。[3]

代码案例

[编辑]

MoonBit 的 Hello World 程序如下:[3]

fn main {
    println("hello world!")
}

生态

[编辑]

MoonBit 在初次发布时便提供了一个网页版 IDE,并同时有一个 Visual Studio Code 插件,由于采用容错类型系统,MoonBit 的 IDE 与编译器得以共享代码库,使得 Visual Studio Code 中的 MoonBit 语言成为一等公民。

  • mooncakes.io 是 MoonBit 的 包管理系统,主要用于构建、管理和维护 MoonBit 的第三方包。

MoonBit 采用多后端语言方法,并针对各个后端进行了优化,后端支持包括 Wasm、JavaScript、Native,以及 LLVM。[3]

应用

[编辑]

MoonBit 有一个 Visual Studio Code 扩展,可提供开箱即用的调试、代码完成和工具提示。[3]

会议

[编辑]

2023 年 9 月 26 日,IoT Thrust 研讨会 | Moonbit For Cloud And Edge Using Wasm 在 香港科技大学(广州) 举行。[6]

比赛

[编辑]

2024 年 11 月,MoonBit 全球编程创新挑战赛在河套深圳园区落下帷幕。[7]

参考

[编辑]
  1. ^ Fei, Haoxiang; Zhang, Yu; Zhang, Hongbo; Wang, Yanlin; Liu, Qing. MoonBit: Explore the Design of an AI-Friendly Programming Language. Proceedings of the 1st International Workshop on Large Language Models for Code. LLM4Code '24 (New York, NY, USA: Association for Computing Machinery). 2024-09-10: 79–83. ISBN 979-8-4007-0579-3. doi:10.1145/3643795.3648376. 
  2. ^ MoonBit Documentation — MoonBit v0.1.20250310 documentation. docs.moonbitlang.com. [2025-03-15]. 
  3. ^ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 About us | MoonBit. www.moonbitlang.com. [2025-03-18] (中文(简体)). 
  4. ^ 4.0 4.1 MoonBit. www.moonbitlang.cn. [2025-03-15] (中文(简体)). 
  5. ^ moonbitlang/core, moonbitlang, 2025-03-15 [2025-03-15] 
  6. ^ IoT Thrust Seminar | Moonbit For Cloud And Edge Using Wasm. University Events. 2023-09-26 [2025-03-15] (中文(简体)). 
  7. ^ 1888 进 11 角逐桂冠!MoonBit 全球编程创新挑战赛圆满落幕!_深圳新闻网. www.sznews.com. [2025-03-15]. 

外部链接

[编辑]