gpt4 book ai didi

haskell - 推断类型不够通用

转载 作者:行者123 更新时间:2023-12-02 20:26:42 25 4
gpt4 key购买 nike

我想知道一个列表是否是第二个列表的前缀,使用以下代码:

prefix :: [a] -> [b] -> Bool
prefix [] _ = True
prefix _ [] = False
prefix (x:xs) (y:ys) = if (x==y) then prefix xs ys else False

但它返回一个错误:

Inferred type is not general enough
*** Expression : prefix
*** Expected type : [a] -> [b] -> Bool
*** Inferred type : [a] -> [a] -> Bool

有人可以帮我让它发挥作用吗?

最佳答案

您的类型签名声称这两个列表可以具有不同的类型,但它们不能。因此编译器提示它推断出的类型不如您所要求的类型通用。

关于haskell - 推断类型不够通用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19160306/

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