发展自己的类型系统 该存储库包含OCaml中不同类型系统的实现。 它旨在通过扩展或实现自己的系统来帮助想要了解更多有关高级类型系统以及类型推断或实验的人员。 实现是最少的,并且包含(希望)简单明了的代码。 包含称为算法W的Damas-Hindley-Milner类型推断算法(用于OCaml,Haskell和Elm等功能语言)的最基本但最有效的实现之一。 使用引用来模拟类型替换,并为类型变量分配等级/级别以简化泛化。 扩展algorithm_w与类型推断与范围的标签,根据大安Leijen的出色可扩展的记录/行。 尽管这只是实现可扩展记录的一种方式,但它极其简单且出奇地有用,并且已被合并到编程语言。 是extensible_rows的优化实施。 基于Daan Leijen的另一篇对一等和更高等级的多态性进行了类型检查和部分类型推断,从而扩展了algorithm_w 。 与其他尝试进行