全局重命名和查找引用

主要观点: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 支持,列举了众多赞助商。
  • 详细的修复和改进可查看变更日志
阅读 36
0 条评论