当我在Haskell中编译代码时,我得到了这个:
Couldn't match type '[Char]' with 'Car a1 [Char]'
Expected type: [Car a1 [Char]]
Actual type: [[Char]]
我是Haskell的新手,不知道这意味着什么。我花了45分钟寻找答案,但在我的情况下找不到任何帮助。
这是第一个错误:
Couldn't match expected type '[[Char]]'
with actual type 'Car [Char] t0'
In the pattern: Leaf a
In an equation for 'evaluation': evaluation (Leaf a) = a
这是它遇到问题的代码行。如果您希望我发布更多信息,请告诉我,谢谢。
evaluation (Leaf a) = a
evaluation (Breakpoint "j" []) = 0
evaluation (Breakpoint "j" x:xs) = evaluation (x) + evaluation (Breakpoint "j" xs)
答案 0 :(得分:2)
你有一个想要(或认为想要)Car a1 String
列表的某个功能,而是接收String
列表。如果不看一些实际的代码就不可能知道如何解决这个问题,但一个好的起点是为你的函数添加类型注释,这样你就可以看到第一个错误 - 现在你看到的东西最终会在Haskell的时候发生。类型推断最终放弃了你的代码。