编程语言 MoonBit 引入`let mut id = expr`了?

354 天前
 Moonbit

MoonBit 更新

1. 正式移除 interface 关键字

正式移除了 interface 关键字,使用 trait 代替。

2. 引入let mut id = expr

根据社区的反馈,引入let mut id = expr的语法替代 var id = expr,下周将移除 var id = expr的支持。

3. 给 Array 类型增加了 Default 的实现

例如:

fn init {
  debug(Array::default()) // []
}

4. 给 List 类型增加了 DefaultEq、和Debug 的实现

例如:

fn init {
  let l1: List[_] = Cons(1, Cons(2, Cons(3, List::default())))
  let l2: List[_] = Cons(1, Cons(2, Cons(4, Nil)))
  debug(l1) // Cons(1, Cons(2, Cons(3, Nil)))
  debug(l1 == l2) // false
  debug(l2 == l2) // true
}

5. 修复对 pub 函数体的类型检查

形如这样的例子:

priv type T
pub fn f() {
  let t: T = ... // public definition cannot depend on private type
      ...
}

之前会在 T 报错,但现在不会了。

插件更新

1. 新增 MoonBit AI

目前已新增 MoonBit AI ,地址是 https://ai.moonbitlang.com ,欢迎大家试用。

2. 提高 LSP 稳定性

修复一些会导致 LSP 崩溃的 bug ,提升 LSP 的稳定性。

构建系统更新

1. 修复 moon test 会测试 .mooncakes 文件夹下的包的问题

2. 废弃 moon check --daemon

3. 改进 moon.pkg.json 格式或内容错误时的错误提示

🥳大家如果对于 MoonBit 平台有任何使用的疑问或者建议都可以到我们的论坛发帖提问讨论哦~

👉论坛地址:https://taolun.moonbitlang.cn

615 次点击
所在节点    编程
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1006883

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX