自动导入和宽容表达式

主要观点:发布 Gleam [v1.3.0],介绍其新特性。
关键信息和重要细节

  • 开发者工具:Gleam 核心团队开发维护语言服务器,提供 IDE 功能,v1.3.0 版本可建议项目或其依赖中模块的值和类型完成,并自动添加导入语句。
  • 容错表达式:语言服务器具有容错性,能处理含错误的代码,v1.3.0 版本将容错提升到表达式级别。
  • 完成改进:语言服务器协议在完成方面存在歧义,v1.3.0 版本升级使用更复杂的完成 API,且不再在注释中提供完成。
  • 导入循环诊断:将导入循环错误附加到导致循环的所有导入语句位置,升级语言服务器诊断系统。
  • 冗余元组代码动作:v1.3.0 版本的语言服务器有代码动作可修复case表达式中的冗余元组。
  • gleam addgleam 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 成为可能,包括众多个人和公司。
阅读 10
0 条评论