博客 / 詳情

返回

本週MoonBit新增Wasm1 Perceus GC支持、語法即將添加錯誤恢復機制

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 格式)
  • 增加文件鎖以用於 moon 多實例同步

IDE更新

  • 【LSP】函數補全增加參數名稱顯示
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.