gpt4 book ai didi

haskell - 为什么 Glasgow Haskell 编译器在这里报告多个类型错误?

转载 作者:行者123 更新时间:2023-12-04 19:28:00 26 4
gpt4 key购买 nike

考虑以下 Haskell 代码

module TypeErrors where
f xs = [True | _ <- repeat 0]
x = (x, x)

Glasgow Haskell 编译器(版本 7.8.4)给出了三种类型错误。第二个和第三个来自第 3 行暗示的无限类型。第一个是
TypeErrors.hs:2:32:
No instance for (Num t0) arising from the literal ‘0’
The type variable ‘t0’ is ambiguous

注释掉第 3 行后,模块按预期编译。我想更好地了解 GHC 是如何创造奇迹的。所以我的问题是:

Why does GHC object to line 2 if and only if line 3 is present?

最佳答案

对我来说似乎是一个错误。我可以确认您描述的行为出现在 7.8.4 中,但没有出现在 7.10.3、8.0.2、8.2.2 或 8.4.2 中,所有这些都有零或两个错误,而不是零或三个。

关于haskell - 为什么 Glasgow Haskell 编译器在这里报告多个类型错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50118536/

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