2011-06-01 66 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