我不断收到此消息,我在做什么错?

data Pile a =  Pile [a] deriving  (Show,Eq,Ord)  

flpile:: (Eq a, Eq b, Eq c) => Pile (a,(b,c))-> Pile (a,b,c)
flpile (Pile (a,(b,c)) = Pile [asocr (a,(b,c))]

asocr :: (a,(b,c)) -> (a,b,c)
asocr (a,(b,c)) = (a,b,c)

===============>>#1 票数:7

您的括号不匹配:

flpile (Pile (a,(b,c))) = ...
                      ^ this was missing

为避免将来出现此问题,建议您在编辑器中启用“突出显示括号”选项(如果有)。 如果没有,请找一个更好的编辑器。

===============>>#2 票数:5 已采纳

在这一行

flpile (Pile (a,(b,c)) = Pile [asocr (a,(b,c))]

您忘记了在桩(a,(b,c)) 处的右括号

当您更正该错误时,您会得到一个错误。 这是因为(a,(b,c))不是一个列表,正如您的数据定义所说。 我不知道您想用代码实现什么,但是您可以将其更改为Pile [(a,(b,c))] ,因此它将进行编译(如果这对您的目的有意义)。

  ask by user2278354 translate from so

未解决问题?本站智能推荐:

关注微信公众号