【发布时间】:2020-04-01 00:35:15
【问题描述】:
是否有任何类型推断算法可以总是(或几乎总是)推断出正确的类型?我知道 Hindley Milner 算法可以在很多情况下做到这一点,但不是所有情况(即更高等级的多态类型)。
【问题讨论】:
-
任何认真的尝试都会让你早在成功之前就进入beza1e1.tuxen.de/articles/accidentally_turing_complete.html。
-
@btilly -- 能否请您了解一下您的意思?
-
在足够复杂的系统中,很容易意外发现可以对图灵机进行编码。在这一点上,您最终拥有编写任意程序的能力,并且不可能在所有情况下分析结果。例如,Rust、Haskell 和 Scala 的类型系统都是图灵完备的。这意味着你可以编写一个程序,甚至没有人知道它是否应该是可编译的。
-
@btilly -- 如果你不介意,你能举几个haskell的例子吗?
-
请参阅github.com/seliopou/typo,了解在 Haskell 类型系统中实现的编程语言。够好吗?
标签: algorithm type-inference hindley-milner