错误元组:约束中的非类型变量参数:积分(a,a)

Error tuple: Non type-variable argument in the constraint: Integral (a, a)

我见过这样定义元组类型的例子:

countRepetitions :: (Integral a, Integral (a,a)) => [a] -> a -> (a,a)

但是当我执行代码时出现消息: 约束中的非类型变量参数:Integral (a, a) 如何声明元组类型?

您无需使用 Integral (a, a) 进行约束。约束 Integral a 强制类型 a 的所有值都为 Integral。尝试像这样重写它:

countRepetitions :: Integral a => [a] -> a -> (a,a)