查看原文
其他

MoonBit平台最新动态速递 Vol.19

MoonBit运营组 MoonBit 2023-12-29



-- 更新目录 --


1/ 支持在浏览器上进行源码调试

2/ 优化只有常量构造器枚举数据类型的布局

3/ 引用类型在函数边界改为了 non-nullable

4/ 移除 moon.pkg.json 中的 name 字段

5/ 启动MoonBit RFCs项目



01
MoonBit 更新




1. 支持在浏览器上进行源码调试

使用构建命令moon build --debug --target wasm-gc支持输出sourcemap,可用于在浏览器中进行源码调试,具体用法请参考示例:

https://github.com/moonbit/moonbit-debugging-example.git


这里也有一个示例视频可以进行参考:

2. 优化只有常量构造器枚举数据类型的布局

优化只有常量构造器枚举数据类型的布局。例如,对于以下代码,优化后会将AB直接使用整数01表示,不再需要装箱与拆箱操作。

enum T {
  A
  B
}

fn init {
  let t = T::A
  match t {
    A => println(0)
    B => println(1)
  }

}



3. 引用类型在函数边界改为了 non-nullable


引用类型在函数边界改为了 non-nullable,这有助于后续为部分基础类型(比如Array,String 等)提供稳定的ABI。


02
构建系统更新



移除 moon.pkg.json 中的 name 字段


移除 moon.pkg.json 中的 name 字段,不再以 "name": "main" 识别入口,而是显式地使用 "is_main": true来识别。


03
社区更新



启动MoonBit RFCs项目


我们新启动了一个GitHub项目,专注于MoonBit语法和功能的改进。链接是:

https://github.com/moonbitlang/moonbit-RFCs


在这里,我们会分享关于MoonBit语法修改与功能修改的想法,并邀请大家共同参与讨论,探索每个提案的可行性。同时,我们也欢迎任何对MoonBit感兴趣的朋友们可以在这里提交你的提案。我们将共同探讨每一项提案的可行性,期待大家的参与



官方平台账号,欢迎扫码关注


MoonBit


知乎|@张宏波 / @MoonBit

小红书|MoonBit月兔

Twitter丨@Moonbitlang

Bilibili丨MoonBit月兔

MoonBit用户交流群|添加小助手moonbit_helper

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存