2014-03-31 28 views
0

我得到这个当我编译我的代码在Haskell:期待一个不同类型的

Couldn't match type '[Char]' with 'Car a1 [Char]' 
Expected type: [Car a1 [Char]] 
Actual type: [[Char]] 

我在哈斯克尔新的,不知道这意味着什么。我花了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

你能发布你试图编译的代码吗? –

+0

请发布具有构造函数'Leaf'和'Breakpoint'的类型的定义,并且如果您可以输入'evaluation'的类型签名。 – bheklilr

+0

我发现问题最终成为了什么。我创建了自己的总和和产品函数,并且它们已经在标准函数中声明,并且给了我这个错误。当我尝试更正我的代码时出现此错误。谢谢大家的时间。 – AbsoluteZ3r0

回答

2

你有地方一个函数,它希望(或者认为就是了)的Car a1 String列表,并且不是接收的String列表。要知道如何在不看到一些实际的代码的情况下解决这个问题是不可能的,但一个好的起点是将类型注释添加到函数中,以便您可以看到第一个错误 - 现在您看到了Haskell's类型推断最终放弃了你的代码。

相关问题