增加对类型构造函数#5102的部分统一的支持最初提供了标志下的特性
-Yhigher-order-unification但后来将它重命名为
-Ypartial-unification因为它似乎不是完全的高阶统一
“部分类型应用程序推断”可能是一个比“高阶统一”更好的术语,而这一点肯定不是。
将其重命名为
-Ypartial-unification以反映这一事实,它没有实现一般的HOU算法。
部分统一与高阶统一有何不同?在什么意义上,Scala没有实现更高层次的统一?当Scala无法执行HOU时,您能用一个具体的代码片段演示吗?
发布于 2021-06-27 12:56:15
一般说来,Scala实现只有在“缺失”类型是最正确的类型时才能执行更高级别的统一。
丹尼尔·斯皮瓦克用一个函子实例演示了这一点,它的类型基本上是Either,但左偏。
https://stackoverflow.com/questions/68150413
复制相似问题