MoonBit 更新
-
[核心库 Breaking ] 核心库进行 API 整理工作
-
所有 immutable 数据结构被放在
immut路径下,如@immutable_hashmap.Map变为@immut/hashmap.Map
// Before
let a : @immutable_hashmap.Map[Int, Int] = @immutable_hashmap.make()
// After
let a : @immut/hashmap.Map[Int, Int] = @immut/hashmap.make()
-
核心库中 Option[T] 类型性能优化
- 在类型 T 是一个引用类型情况下,对于 Option[T] 类型的值,
Some(v)会被直接编译成v,None会在 wasm-gc 后端被编译成ref.null,在 JavaScript 后端被编译成undefined,从而避免内存分配
- 在类型 T 是一个引用类型情况下,对于 Option[T] 类型的值,
- 核心库中引入了
fn panic[T]() -> T函数,这个函数可以用于在测试块中,其中测试的名字需要以"panic"开头:
test "panic test ok" {
panic() // 测试通过
}
test "panic test failed" {
() // 测试失败
}
IDE 更新
- [ VS Code 插件] 增加了
test和for的代码片段test片段
for片段
构建系统更新
- [初始化]
moon new会自动对创建的项目进行版本控制初始化,目前支持 git - [测试] 现在可以指定对多个包进行测试
moon test -p a b c
moon test -p a -p b -p c
工具链更新
- [安装] 现在可以指定版本号进行安装
# Mac 与 Linux 用户
# 下载最新版
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
# 下载 bleeding 版本
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash -s bleeding
# 下载特定版本
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash -s 0.1.20240520+b1f30d5e1
# Windows 用户
# 下载最新版
irm cli.moonbitlang.cn/install/powershell.ps1 | iex
# 下载特定版本
$env:MOONBIT_INSTALL_VERSION = "0.1.20240520+b1f30d5e1"; irm cli.moonbitlang.cn/install/powershell.ps1 | iex
- [安装] 现在可以查找对应版本的 SHA256 ,对下载进行校验 详情见:https://www.moonbitlang.cn/download/#verifying-binaries

