本周 MoonBit 核心库进行 API 整理工作、工具链持续完善

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) 会被直接编译成 vNone 会在 wasm-gc 后端被编译成 ref.null ,在 JavaScript 后端被编译成 undefined,从而避免内存分配
  • 核心库中引入了 fn panic[T]() -> T 函数,这个函数可以用于在测试块中,其中测试的名字需要以 "panic" 开头:
test "panic test ok" {
  panic() // 测试通过
}

test "panic test failed" {
  () // 测试失败
}

IDE更新

  • 【VS Code插件】增加了testfor的代码片段
    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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值