Haskell 如何生成约束蕴涵函数(| |-)?(关联类型同义词)

Haskell 如何生成约束蕴涵函数(| |-)?(关联类型同义词),haskell,compiler-construction,type-constraints,Haskell,Compiler Construction,Type Constraints,我只是一个业余爱好者,不主修计算科学和工程 最近,我制作了一种微型函数式编程语言: 但是nabi是非类型化的,所以我想给它添加一个类型检查器 我的具体目标是实现一个类型检查器,它基于Haskell 98,但支持唯一的扩展“关联类型同义词” 我读了这篇文章,然后尝试使用约束蕴涵函数(| |-) 但我没能做到,因为我很难(| |-)应用推理规则“EQ|u subst”而不陷入无限循环 请你给我一个提示,让我做(| |-)并教我如何实现我的目标好吗 +)我希望在风格上表现类型 非常感谢你阅读我的问题。

我只是一个业余爱好者,不主修计算科学和工程

最近,我制作了一种微型函数式编程语言:

但是nabi是非类型化的,所以我想给它添加一个类型检查器

我的具体目标是实现一个类型检查器,它基于Haskell 98,但支持唯一的扩展“关联类型同义词”

我读了这篇文章,然后尝试使用约束蕴涵函数(| |-)

但我没能做到,因为我很难(| |-)应用推理规则“EQ|u subst”而不陷入无限循环

请你给我一个提示,让我做(| |-)并教我如何实现我的目标好吗

+)我希望在风格上表现类型

非常感谢你阅读我的问题。新年快乐

我读了《关联类型同义词》一文,然后尝试使用约束蕴涵函数(| |-)

但我没能做到,因为我很难(| |-)应用推理规则“EQ|u subst”而不陷入无限循环

听起来像是试图直接实现类型规则(图2),但仅这些规则并不能提供有效的类型检查过程。本文还介绍了一种类型推断算法(第5节;图4、图5),这是应该实现的。要理解这一部分,您可能需要首先很好地掌握Hindley-Milner类型的推理和统一

  • GHC的类型推断实际上是如何工作的(),Simon Peyton Jones
  • ML类型推理的本质(),弗朗索瓦·波蒂埃和迪迪埃·雷米

非常感谢您的友好回答。你的链接非常有用。不好意思,我认为(| |-)必须首先实施。