haskell - 类型定义不是 Haskell 必须的?

标签 haskell type-inference

即使没有类型声明,Haskell 代码如何工作?

最佳答案

注意:我假设您指的是类型签名,因为如果您删除 type Foo = Bardata X = Y 等类型定义,代码将无法工作不再如此(当然假设实际使用了定义的类型)。

Haskell 代码无需类型签名即可工作,因为如果您不指定签名,则编译器会简单地推断变量/函数的类型。用于进行此推断的算法是 Hindley-Milner type inference algorithm 的变体.

关于haskell - 类型定义不是 Haskell 必须的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154209/

相关文章:

haskell - GHC - 将迭代变成一个紧密的循环

haskell - 如何在 Haskell 中建模 2D 世界

c# - 为什么这行得通?

pattern-matching - 在 Agda 中如何使用 with 检查?

TypeScript 类型推断/缩小挑战

haskell - Haskell 中的舍入到最近函数

haskell - 如何使用 Haskell 提交 html 表单

haskell - `Data.Map` 上的模式匹配用于实现 `map`

c# - 类型推断如何与重载的泛型方法一起工作

types - 系统 F 中的类型示例在 Hindley Milner 类型推断中不可用