主要观点:Serokell 认为 Haskell 的类型系统应添加依赖类型,有专门的 GHC 团队致力于此,团队包括 Vladislav Zavialov 和 Andrei Borzenkov,本文分享了近期进展。
关键信息:
- 报告涵盖四个主题:
@
-binders 相关、命名空间说明符、精确打印注释重构、无 pun 语法的列表和元组类型。 @
-binders 可替代ScopedTypeVariables
,用于绑定不可见类型变量,在高阶场景中也很有用,与依赖类型有联系,历经多年才进入 GHC 9.10。- 命名空间说明符用于解决类型构造器和数据构造器的弃用问题等。
- 精确打印注释重构主要是内部改变,避免与其他工作冲突。
- 无 pun 语法的列表和元组类型旨在避免构造函数名称的歧义,虽有部分问题但已取得进展。
- GHC 9.10 包含
TypeAbstractions
和RequiredTypeArguments
两个新特性。 - 还提及之前关于依赖类型的更新及后续会持续关注。
重要细节: @
-binders 在 lambda 和函数方程中的使用示例及两种使用场景的解释。- 命名空间说明符在固定声明和 pragmas 中的应用示例。
- 精确打印注释重构的讨论过程及与 AST 结构的关系。
- 无 pun 语法的列表和元组类型的提案及实施过程中的问题。
- GHC 9.10 中新特性的用户指南链接及早期采用者的反馈预期。
- 之前关于依赖类型的多个更新帖子的链接。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。