跳到主要内容

weekly 2024-06-11

· 阅读需 2 分钟

MoonBit更新

  • 【Wasm MVP】Wasm1 后端添加基于 Perceus 算法的引用计数支持

  • 【语法】throw raise try catch 均被保留为关键字

    • 为了即将添加的错误处理机制
  • 【Core】Listsorted_map被移动至core/immut

    • List被移动至core/immut/list包中,并被移除内置类型支持

    let a = @immut/list.List::Cons(1, Cons(2, Nil))


    • sorted_map被移动至core/immut/sorted_map包中
  • 【Core】JSON API被优化,以提高性能并适应新的Core API

    • 新的类型定义
// Types and methods
pub enum JsonValue {
Null
// 原为Boolean(Bool)
True
False
Number(Double)
String(String)
Array(Array[JsonValue])
Object(Map[String, JsonValue]) // 原为@map.Map
}
  • 【JS】Int64性能优化
    • 在 JS 后端上,Int64现编译到两个Int,解决原先编译到BigInt的性能问题。同时,JS 下Int64的 runtime 实现现移动到 core 标准库中,便于开源社区参与 review 和改进。

构建系统更新

  • moon.mod.json 和 moon.pkg.json 在开发过程中支持注释,但是在 publish 时不允许注释(只支持标准 JSON 格式)

IDE更新

  • 【LSP】函数补全增加参数名称显示 LSP.png