首页
学习
活动
专区
圈层
工具
发布

Gleam 1.18.0 发布:语言服务器全面支持记录字段

Gleam 是一门面向 Erlang 虚拟机和 JavaScript 运行时的类型安全、可扩展编程语言,近日发布了 1.18.0 版本。此次更新为 Gleam 语言服务器带来了对记录字段的完整支持,并包含多项其他改进。

Gleam 1.18.0 于 7 月 29 日正式发布,该语言定位为"一门用于构建类型安全且可扩展系统的友好语言"。

语言服务器改进

Gleam 1.18.0 为语言服务器带来了三项重要改进。首先,也是最核心的一点,语言服务器现已支持对记录字段进行"跳转到定义"、"查找引用"以及"重命名"操作。Gleam 创始人 Louis Pilfold 表示,上述功能适用于字段声明、带标签的参数、带标签的模式、记录更新操作,以及模块内部和跨模块的 record.field 访问。

其次,语言服务器现支持对类型、函数和常量中的类型变量进行重命名。第三,语言服务器新增了对模块重命名的支持——当文本编辑器通知语言服务器某个 Gleam 文件已被重命名时,语言服务器将自动查找该模块的所有引用并更新为新名称。

其他改进

语言服务器的"对值进行模式匹配"代码操作,现在可以在函数调用及其返回值上触发。

在面向 JavaScript 的编译目标下,Gleam 编译器现在能够识别所有实例均等价的数据结构,并在每次使用时复用同一个值,而非每次都构造新实例。Pilfold 表示,测试结果显示此改动对性能有显著提升。

Gleam 的构建工具现已支持在 Git 依赖项中配置可选的 path 字段,用于指定仓库内的子目录。此前,构建工具不允许用户指定 Git 仓库中的具体路径。

语言服务器新增了一项代码操作:当引用了未知类型时,可自动生成缺失的类型定义。

Q&A

Q1:Gleam 1.18.0 对记录字段的支持具体包含哪些功能?

A:在 Gleam 1.18.0 中,语言服务器对记录字段新增了"跳转到定义"、"查找引用"和"重命名"三项操作。这些功能覆盖字段声明、带标签的参数、带标签的模式、记录更新,以及模块内部和跨模块的字段访问,大幅提升了开发者在使用记录类型时的编码效率。

Q2:Gleam 1.18.0 在 JavaScript 编译目标上做了哪些性能优化?

A:在面向 JavaScript 的编译目标下,Gleam 编译器现在能够识别所有实例完全等价的数据结构,并在每次使用时复用同一个值,避免重复创建新实例。根据测试结果,该优化对运行时性能有明显的提升效果。

Q3:Gleam 1.18.0 的构建工具在 Git 依赖管理上有什么新变化?

A:Gleam 1.18.0 的构建工具新增了对 Git 依赖项 path 字段的支持,允许开发者指定 Git 仓库中的某个子目录作为依赖来源。此前版本不支持该功能,开发者只能将整个仓库作为依赖引入。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OaXjQpqPJbLW_ZVN37EtrWsw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券