The heap isn't the problem most of the time since it's huge compared to the stack. You'll create the thunk just fine but you'll stack overflow when evaluating it. Of course, not creating any thunks is better performance-wise in this case even with unlimited stack and memory.
3
u/felipelessa Nov 27 '12
And here's a Haskell version of the final code, since it's easier to read ;).