Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Haskell Error - Naked Expression at Top Level

Tags:

haskell

ghc

I have the following code:

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

And for some reason, it's throwing an error:

[1 of 1] Compiling Main             ( test.hs, test.o )  test.hs:8:1: Parse error: naked expression at top level 

What's going on?

like image 213
tekknolagi Avatar asked Jul 30 '11 18:07

tekknolagi


Video Answer


1 Answers

You cannot have an expression at the top-level. Haskell program entry point is a main function in Main module. Also print fib 5 calls print with two arguments, you need to do:

main = print $ fib 5 

or

main = print (fib 5) 
like image 126
Cat Plus Plus Avatar answered Sep 19 '22 14:09

Cat Plus Plus