跳到主要内容

weekly 2023-10-23

· 阅读需 2 分钟

MoonBit更新

1. 根据社区用户的反馈,将顶层函数的关键字从 func 改为 fn,使其与局部函数保持一致,同时也能避免给开发者带来不必要的困惑。

修改前

func fib(num : Int) -> Int {
  fn aux(n, acc1, acc2) {
    match n {
      0 => acc1
      1 => acc2
      _ => aux(n - 1, acc2, acc1 + acc2)
    }
  }
  aux(num, 0, 1)
}

func init {
  println(fib(46))
}

修改后

fn fib(num : Int) -> Int {
  fn aux(n, acc1, acc2) {
    match n {
      0 => acc1
      1 => acc2
      _ => aux(n - 1, acc2, acc1 + acc2)
    }
  }
  aux(num, 0, 1)
}

fn init {
  println(fib(46))
}

2. 根据社区用户的反馈,将 Float64 类型名修改为 Double

修改前

let pi : Float64 = 3.14

修改后

let pi : Double = 3.14

3. 支持 Intel 芯⽚的 Mac 的工具链下载

链接是https://www.moonbitlang.cn/download/

我们预计在下周完成对 Windows 的支持

IDE与构建系统

1. 将 moon.pkgmoon.mod 改成 JSON 格式

moon.pkgmoon.mod 改成 JSON 格式 moon.pkg.jsonmoon.mod.json。从自定义格式转换为 JSON 的原因是 MoonBit 的工具链正在快速演进,使用 JSON 可以减少维护成本并简化与其他工具的集成。

修改前moon.mod

module hello

修改后moon.mod.json

{
  "name": "hello"
}

修改前moon.pkg

package main

import "hello/lib"

修改后moon.pkg.json

{
  "name": "main",
  "import": {
    "hello/lib": ""
  }
}