依赖方法类型(以前曾经是一个实验特性)现在已经是 在主干中默认启用了,而且很明显,这似乎已经在 Scala 社区中创建了 一些刺激。
乍看之下,还不能立即看出它有什么用处。Heiko Seeberger 发布了一个依赖方法类型 给你的简单示例,从注释中可以看出,可以很容易地用方法上的类型参数复制它。所以这不是一个很有说服力的例子。(我可能遗漏了一些显而易见的东西。如果有,请纠正我。)
在依赖方法类型的用例中,有哪些实际和有用的例子明显优于替代方法?
我们能用它们做些什么以前不可能/不容易的有趣的事情呢?
他们给我们买了什么现有的类型系统功能?
此外,依赖方法类型是否类似于其他高级类型语言(如 Haskell、 OCaml)的类型系统中的任何特性,或者从中获得灵感?