我见过一个以这种方式定义元组类型的例子:
countRepetitions :: (Integral a, Integral (a,a)) => [a] -> a -> (a,a)
但是当我执行代码时会出现以下消息:
约束中的非类型变量参数:Integral (a, a)
如何声明元组类型?
答案 0 :(得分:1)
您无需使用Integral (a, a)
进行约束。约束Integral a
强制类型a
的所有值都为Integral
。尝试重写它:
countRepetitions :: Integral a => [a] -> a -> (a,a)