Try compiling with optimization. With GHC 7.4.1 with -O2, your program runs quite quickly:
$ time ./test
832040
real 0m0.057s
user 0m0.056s
sys 0m0.000s
This is with main = print (febs 30).
Regarding the polymorphism considerations in Chris Taylor's answer, here's febs 40 with OP's polymorphic Fibonacci function:
$ time ./test
102334155
real 0m5.670s
user 0m5.652s
sys 0m0.004s
And here is a non-polymorphic one, i.e. with OP's signature replaced with Int -> Int:
$ time ./test
102334155
real 0m0.820s
user 0m0.816s
sys 0m0.000s
Per Tikhon Jelvis' comment, it'd be interesting to see if the speedup is due to replacing Integer with Int, or due to getting rid of polymorphism. Here's the same program again, except with febs moved to a new file per Daniel Fischer's comment, and with with febs :: Integer -> Integer:
$ time ./test
102334155
real 0m5.648s
user 0m5.624s
sys 0m0.008s
Again, with febs in a different file, and with the same polymorphic signature as originally:
$ time ./test
102334155
real 0m16.610s
user 0m16.469s
sys 0m0.104s