主要观点:Serokell 的 GHC 团队致力于在 Haskell 中实现依赖类型,在多个方面取得进展。
关键信息:
- 在类型声明中引入通配符绑定,解决了类型声明中与项级函数方程中使用通配符不一致的问题,相关提案和实现已完成。
- 完善
RequiredTypeArguments
扩展,使函数类型语法可用于表达式,解决了一些语法相关的问题,并扩展了 GHC AST 和 TH AST。 - 更新模式中的名称解析,使类型构造函数不再影响名称解析,更接近依赖类型。
- 管理语言扩展的演进,将
RequiredTypeArguments
和TypeApplications
标记为实验性扩展,并在用户指南中添加了“since”-annotations。 - 改进错误消息中的函数变元处理,区分了函数变元和可见变元。
- 修复了类型参数中运算符名称的作用域问题。
- 重构了类型检查器,使其更相似,有助于实现依赖类型,并修复了 TH 模块终结器的相关问题。
- 介绍了与其他 GHC 贡献者的合作示例。
重要细节: - 通配符绑定在不同上下文中的使用方式,如在类型同义词、数据/新类型声明等中的情况。
RequiredTypeArguments
扩展在不同方面的实现细节和遇到的问题及解决方法。- 名称解析在模式中的变化以及对依赖类型的影响。
- 语言扩展的演进管理方式和相关标注。
- 函数变元的不同概念及其在错误消息中的体现。
- 与其他贡献者合作的具体项目和贡献。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。