我有以下代码:
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
发生了什么事?
答案 0 :(得分:49)
你不能在顶层有一个表达式。 Haskell程序入口点是main
模块中的Main
函数。另外print fib 5
使用两个参数调用print
,您需要这样做:
main = print $ fib 5
或
main = print (fib 5)