Ported this to scala (I know, I didn't do this functionally, this is a pretty straight port of the C example), ran in 4 seconds (of course, I've got about a bajillion other apps open right now, so take this with a grain of salt):<p><pre><code>     object Main {
        def fib(n : int) : int = {
            if(n &#60; 2) n
            else
                fib(n-1) + fib(n-2)
        }

        def main(args: Array[String]) = {
            for (i &#60;- 0 until 37) {
                printf("n = " + i.toString + " =&#62; "+fib(i).toString)
            }
        }
     }</code></pre>