Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell中条件定义中的递归出现错误(发生检查:无法构造无限类型:)_Haskell_Recursion_Types_Tuples_Type Mismatch - Fatal编程技术网

Haskell中条件定义中的递归出现错误(发生检查:无法构造无限类型:)

Haskell中条件定义中的递归出现错误(发生检查:无法构造无限类型:),haskell,recursion,types,tuples,type-mismatch,Haskell,Recursion,Types,Tuples,Type Mismatch,我想在Haskell(ghci 7.x)中定义一个条件函数并使用递归,如: 我做错了什么 函数 g a b c = 0 如果由三个值提供,将返回0,a,b和c;而是一个函数 g (a,b,c) = 0 如果由一个值提供,将返回0(a、b、c)。这是一个三重值,a、b和c,因此解决方案是“否则=gfunct(n-m)(k-1)(m+1)+gfunct(n)(k)(m+1)”。非常感谢你!!为了改进这些错误消息,通常的做法是为顶级函数编写显式类型注释。实际上,通常建议从其类型开始编写函数,并使用

我想在Haskell(ghci 7.x)中定义一个条件函数并使用递归,如:

我做错了什么

函数

g a b c = 0
如果由三个值提供,将返回
0
a
b
c
;而是一个函数

g (a,b,c) = 0

如果由一个值提供,将返回
0
(a、b、c)。这是一个三重值,
a
b
c

,因此解决方案是“否则=gfunct(n-m)(k-1)(m+1)+gfunct(n)(k)(m+1)”。非常感谢你!!为了改进这些错误消息,通常的做法是为顶级函数编写显式类型注释。实际上,通常建议从其类型开始编写函数,并使用该类型作为编写其余代码的指南。
g a b c = 0
g (a,b,c) = 0