> But I don't think that eliminates the macro call stack > growing on tail recursion, like dc(1) does for example?
True, groff does not have an optimization for tail recursion, so the input stack will fill up even in this case. > I see groff's info says «Note that the number of available > recursion levels is set to 1000 (this is a compile-time > constant value of 'gtroff')». I think what is meant is that the default value is a compile-time constant. You can actually set the register "slimit" to a higher value at runtime if you need a larger stack.
