Haskell错误 - 顶层的裸体表达

时间:2011-07-30 18:28:32

标签: haskell ghc

我有以下代码:

fib n
    | n == 0  = 0
    | n == 1  = 1
    | n > 1  = fib (n-1) + fib (n-2)

print fib 5

由于某种原因,它引发了一个错误:

[1 of 1] Compiling Main             ( test.hs, test.o )

test.hs:8:1: Parse error: naked expression at top level

发生了什么事?

1 个答案:

答案 0 :(得分:49)

你不能在顶层有一个表达式。 Haskell程序入口点是main模块中的Main函数。另外print fib 5使用两个参数调用print,您需要这样做:

main = print $ fib 5

main = print (fib 5)