【问题标题】:what is parse error: naked expression at top level?什么是解析错误:顶层的裸表达式?
【发布时间】:2011-06-01 22:47:37
【问题描述】:

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

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

我收到错误消息:

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

这个错误是什么意思,我该如何解决这个问题?

【问题讨论】:

    标签: haskell syntax


    【解决方案1】:

    简单的改变:它是import 而不是Import

    【讨论】:

    • 谢谢,问题解决了!
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-16
      • 2021-12-05
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多