我有一个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 Error - Naked Expression at Top Level
和
what is parse error: naked expression at top level?
没有用。
答案 0 :(得分:12)
您需要=
而不是:
,所以:
doubleMe x = x + x
如果您尝试使用:
,GHC会使用:
和doubleMe x
上的x + x
运算符对其进行解析。这是一个函数应用程序,因此它是一个表达式(表达式基本上是一系列具有结果的标记)。由于它没有包含在函数或变量声明中,因此它是一个“裸表达式”,这是一个错误。