4

我有一个haskell 文件test.hs。在这个文件中我写了一个函数

doubleMe x: x + x

这是该文件 test.hs 中的唯一函数。在 ghci 命令提示符下,我输入了不带引号的 ":l test.hs"。出现以下错误:

compiling main  <test.hs interpreted>
test.hs:1:1 Parse error: naked expression at top level
Failed: modules loaded:none

这个错误的原因是什么。

我经历了 Haskell 错误 - 顶级的裸表达式

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

它没有帮助。

4

1 回答 1

12

你需要,=而不是:,所以:

doubleMe x = x + x

如果您尝试使用:,GHC 会将其解析为使用and:运算符。这是一个函数应用程序,所以它是一个表达式(表达式基本上是一系列具有结果的标记)。由于它没有包含在函数或变量声明中,因此它是“裸表达式”,这是一个错误。doubleMe xx + x

于 2012-06-17T05:31:05.407 回答