2014-03-31 26 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類型推斷最終放棄了你的代碼。

相關問題