即使没有类型声明,Haskell 代码如何工作?
最佳答案
注意:我假设您指的是类型签名,因为如果您删除 type Foo = Bar
或 data X = Y
等类型定义,代码将无法工作不再如此(当然假设实际使用了定义的类型)。
Haskell 代码无需类型签名即可工作,因为如果您不指定签名,则编译器会简单地推断变量/函数的类型。用于进行此推断的算法是 Hindley-Milner type inference algorithm 的变体.
关于haskell - 类型定义不是 Haskell 必须的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154209/