On 23/01/2008, Lars Hansen <[EMAIL PROTECTED]> wrote: > Ditto, interprocedural analysis and/or inlining > may prove that the body of a "try" can't throw an exception, thereby > allowing the exception handler to be removed, thereby exposing a > possibility for TCO. And so on.
This nicely shows the weakness of the explicit TCO enforced at the compile time. It is not future proof. If an implementation can turn return 2 * f(args) into a tail call, a programmer would not be able to write tail return 2 * f(args). since this is not a valid syntax. So the programmer who needs this fine control over space complexity would not be able to state that. Regards, Igor _______________________________________________ Es4-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es4-discuss
