什么是解析错误:顶层的裸体表达?

时间:2011-06-01 22:47:38

标签: haskell syntax

我试图获得每个元素的长度,给定一个嵌套列表;我也想摆脱重复的长度。

例如,嵌套列表[[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)

我收到错误说:

  

“解析错误:顶层的裸体表达”

这个错误意味着什么,我该如何解决?

2 个答案:

答案 0 :(得分:9)

简单更改:import而非Import

答案 1 :(得分:2)

在解析器中,Import Data.List看起来像数据构造函数Import的应用程序,数据构造函数Data.List作为参数。

由于在解析过程中发生了这个错误,编译器还没有发现数据构造函数ImportData.List实际上都不存在,但它确实知道这样的表达式不允许顶级。

当然,在这种情况下,@ augustss指出这只是一个错字。