Fibonacci calculator in Haskell
The many approaches in main and firstNumberFrom can be unified:

main = print . fibonacci' . maybe 10 read . listToMaybe =&lt;&lt; getArgs


The explicit recursion in fibbonacci' is captured by iterate:

fibbonacci' n = fst $ iterate (\(a,b) -&gt; (b, a+b)) (0,1) !! n