主要观点:发布 Gleam [v1.3.0],介绍其新特性。
关键信息和重要细节:
- 开发者工具:Gleam 核心团队开发维护语言服务器,提供 IDE 功能,v1.3.0 版本可建议项目或其依赖中模块的值和类型完成,并自动添加导入语句。
- 容错表达式:语言服务器具有容错性,能处理含错误的代码,v1.3.0 版本将容错提升到表达式级别。
- 完成改进:语言服务器协议在完成方面存在歧义,v1.3.0 版本升级使用更复杂的完成 API,且不再在注释中提供完成。
- 导入循环诊断:将导入循环错误附加到导致循环的所有导入语句位置,升级语言服务器诊断系统。
- 冗余元组代码动作:v1.3.0 版本的语言服务器有代码动作可修复
case
表达式中的冗余元组。 gleam add
和gleam remove
命令:可快速添加和删除依赖,gleam add
可带可选包版本规范,gleam remove
若删除不存在的包会报错。- 语法警告和错误改进:编译器发出关于管道中冗余函数捕获的警告,解释
..
列表前置语法不能用于追加的错误,弃用无逗号的[a..b]
语法,改进意外标记的错误消息。 - OTP 27 关键字支持:更新 Gleam 的 Erlang 代码生成,以适当转义与新 Erlang 语法冲突的函数、类型和记录构造函数。
- JavaScript 字节对齐错误:在 JavaScript 编译中,位数组必须包含整数个字节,常量数字用于位数组的
size
选项时,错误从运行时移至编译时。 - 算术守卫:Gleam 现在在
case
子句守卫中支持浮点数和整数的算术运算。 - JavaScript 捆绑器提示:编译为 JavaScript 时,可使用 esbuild 或 Vite 等捆绑器进行死代码消除和模块合并,Gleam 会输出
/* @__PURE__ */
注释帮助捆绑器。 - 其他:查看 git 仓库的变更日志可了解所有更改,感谢众多赞助和贡献者使 Gleam 成为可能,包括众多个人和公司。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。