gpt4 book ai didi

haskell - Haskell 或 OCaml 中的非本地类型推断真的有用吗?

转载 作者:行者123 更新时间:2023-12-03 22:16:03 27 4
gpt4 key购买 nike

<分区>

首先,让我们假设本地类型推断是在 Scala 和 C# 中发现的那种类型推断。此处解释了 Scala 本地类型推断:http://www.scala-lang.org/node/127

此外,让我们假设,定义如

     fact 0 = 1
fact n = n * fact(n-1)

算作本地类型推断——也就是说,这里的类型推断是函数事实的本地类型。 Scala 不允许这样的类型推断;还是算本地吧。

那么问题是,是否有人有至少 2 个相互递归函数(或您自行决定的任何其他非局部性)的实际示例,这些函数从类型推断中获得一些好处?请不要张贴愚蠢的例子,例如:

    odd 0 = false
odd n = even(n-1)

even 0 = true
even n = odd(n-1)

我怀疑在解析中会出现一些实际的例子。另外,您能否解释一下程序员可以从这种非本地类型推断的使用中获得的好处?

更新:

我欣赏任何本地类型推断不足和需要全面类型推断的例子。

  1. 您的 Haskell 或 OCaml 示例可能有 90% 正确,因为您只有 90% 理解术语“非本地类型推断”。不过,您必须了解 Haskell(或 OCaml)类型推断。

  2. 您的示例可能是用 Scala 或 C# 编写的。请指出,编译器确实有足够的信息来推断类型,但由于语言规范或 Scala 或 C# 中类型推断的仅限本地性质,无法推断类型。

//再说一次,随时纠正我的英语。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com