众所周知,Haskell风格的types类和ML风格的模块为指定接口提供了不同的机制。 他们(可能)的权力是相等的,但实际上每个人都有自己的利益和弊端。 因为在语言特性方面我是一个包容性的人,所以我的问题是:在Haskell中joinML风格的模块有什么主要的理论困难? 我感兴趣的答复如下: 什么样的现有types系统function与ML风格模块交互不良? (一个糟糕的交互的例子是GADT和函数依赖,尽pipefundeps在技术上等同于关联的types!) 为了编译ML风格的模块,编译器最后必须放弃哪些东西? ML风格模块如何与types推断进行交互? 相关阅读: 罗伯特·哈珀的post引发了这个问题 讨论Haskell Reddit
两个ML方言的区别是什么?