On Wednesday, October 06, 2010 13:23:37 Andrei Alexandrescu wrote: > dmd currently optimizes tail recursion but not tail calls. Tail > recursion == function calls itself as the last expression. Tail call == > function issues a call to another function as the last expression. > Without tail call optimization, mutual recursion will consume stack as > you noted.
Also, doesn't dmd only ever do one level of inlining right now? That could severely limit its ability to inline this kind of code. - Jonathan M Davis
