2011-06-01 63 views
2

我試圖得到每個元素的長度,給定一個嵌套列表;我也想擺脫重複的長度。什麼是解析錯誤:頂級裸體表達?

例如,一個嵌套列表[[1],[1,2],[4..5]]應該給我[1,2]

我可以在互動中通過nub (map length [[1],[1,2],[4..5]])來做到這一點。但是,如果我寫下面的代碼文件:

Import Data.List 
getLen :: [[a]] ->[Int] 
getLen xs = nub (map length xs) 

我得到的錯誤說:

"Parse error: naked expression at top level"

這個錯誤是什麼意思,我怎樣才能解決這個問題?

回答

2

在解析器中,Import Data.List看起來像數據構造函數Import的應用程序,數據構造函數爲Data.List作爲其參數。

由於在分析過程中發生此錯誤,因此編譯器尚未發現數據構造函數ImportData.List實際上都不存在,但它確實知道這樣的表達式在頂層不被允許。

當然,在這種情況下,它只是@augustss指出的一個錯字。

+0

感謝您的解釋! – vwendy 2011-06-02 11:26:21

9

簡單的變化:這是import不是Import

+0

謝謝,這解決了問題! – vwendy 2011-06-02 00:31:13