主要观点:发布 Gleam [v1.2.0],聚焦改善语言服务器和开发者体验。
关键信息和重要细节:
- 容错编译:传统编译器遇编译错误立即停止,新特性遇错后会继续分析模块,返回所有错误及更新代码信息,提升语言服务器体验,后续会改进容错编译粒度和引入容错解析。
- 语言服务器导入改进:语言服务器可自动补全导入的模块名、类型和值,可悬停查看文档,使用跳转定义功能。
- 单行管道:
|>
管道操作符可将函数输出传入另一函数,代码格式化可选择将管道函数放在一行或多行,可通过添加换行强制格式化拆分管道。 use
表达式的改进错误消息:细化use
表达式的错误消息,包括右侧不是函数、无参数或参数数量错误等情况,帮助学习和调试代码。- 类型/值混淆反馈:编译器会检查导入项是否为类型或值的匹配,若不匹配则解释混淆情况。
- 断言穷尽性检查:编译器对
let assert
语法进行穷尽性检查,若模式覆盖所有情况则发出冗余断言警告。 - 捕获常见崩溃错误:编译器会对
todo
和panic
表达式的错误使用发出警告,如panic
字符串未作为消息使用。 - 无效常量错误消息改进:若在常量中调用函数,会发出更有用的错误消息。
- 不可达代码检测:在
panic
表达式后代码不可达时,编译器会发出警告。 - 进一步的 Hex 集成:添加
gleam hex revert
命令可在发布 24 小时内撤销包发布,改进已发布包重复发布的错误消息。 - 防止 Erlang 模块冲突:Gleam 构建工具在编译会覆盖 Erlang 模块的 Gleam 模块时会发出错误,避免应用升级时出现混淆错误。
- 更好的构建工具错误:若
manifest.toml
文件无效或无法找到满足项目要求的包版本,会显示更有用的错误消息。 - 冗余模式匹配警告:编译器会对多余的列表包装进行模式匹配发出警告,使用 Gleam 语言服务器可自动修复冗余的元组包装。
- 帮助 JavaScript 程序员:为 JavaScript 程序员在 Gleam 代码中误输入
===
提供错误消息。 - 其他改进:包含众多贡献者名单,感谢他们对 Gleam 项目的支持和贡献。查看变更日志可查看所有变更。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。