主要观点:Gleam 是用于 Erlang 虚拟机和 JavaScript 运行时的类型安全且可扩展语言,v1.10.0 版本发布,包含多个新功能和改进。
关键信息:
- 项目范围调用引用图:编译器升级保留更多类型和值信息,语言服务器提供“查找引用”和“重命名”功能,未使用代码检测也得到改善。
- 改进的穷尽性分析:编译器执行穷尽性分析,Giacomo Cavalieri 带来字符串模式分析等改进,还会在使用
let assert
时发出警告。 - 运算符分析改进:编译器容错,改进二进制运算符分析,错误消息更准确,语言服务器提供代码动作修复错误。
- 位数组改进:Gleam 的位数组字面语法得到改进,支持
unit
选项和 16 位浮点数,省略:float
选项也可行。 - JavaScript 代码生成性能改进:Surya Rose 提高 JavaScript 代码生成速度,移除不必要的函数表达式开销。
- 跨平台部署工件:Greg Burri 解决 Gleam 跨平台部署时的入口脚本问题,构建工具会包含所有操作系统的入口脚本。
- 包信息导出:Rodrigo Álvarez 创建
gleam export package-information
命令,将 Gleam 包信息导出为 JSON 格式,可用于其他构建工具。 - 填充未使用字段代码动作:语言服务器可提供代码动作,用被忽略的字段替换模式中的
..
。 - 改进的 JSON 编码器生成代码动作:“生成 JSON 编码器”代码动作生成的函数在类型添加新字段时会编译失败,以减少编程错误。
- 移除
echo
代码动作:语言服务器可提供代码动作移除模块中的所有echo
语句。 - 包装在块代码动作:语言服务器可将赋值或 case 子句值包装在块中,方便添加更多表达式。
- 安全和合规:Gleam 的容器镜像包含软件物料清单(SBoM)和软件工件供应链级别(SLSA)来源信息,有助于安全审计和合规。
重要细节: - 感谢众多贡献者如 Surya Rose、Giacomo Cavalieri 等对 Gleam 的改进和修复。
- Gleam 由赞助商支持,核心团队成员 Giacomo Cavalieri 和 Surya Rose 接受 GitHub Sponsors 支持,列举了众多赞助商。
- 详细的修复和改进可查看变更日志。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。