
9 May
2008
9 May
'08
6:04 a.m.
Edsko de Vries
(...(((1+2)+3)+4) ... + 10000000) which requires stack in proportion to the number of nested parentheses
Ah, that makes! So does it make sense to talk about "tail recursive thunks"? Or does the evaluation of thunks always take stack space proportional to the "nesting level"?
The key reason why nested additions take stack space, is because (+) on Integers is *strict* in both arguments. If it were somehow non-strict instead, then the unevaluated parts of the number would be heap-allocated rather than stack-allocated. Regards, Malcolm