On Nov 26, 11:14 am, Rich Hickey <[EMAIL PROTECTED]> wrote: > There's a very simple reason - such built-in trampolines are > incompatible with interoperability. Anyone can build a trampoline > system into their lang to get tail calls and make sure it is used > consistently within lang - but what do those TailCall return values > mean to a Java caller?
Thanks. I was uneasy enough about performance, without really understanding how much of a problem it would be, but interop would be a deal-killer. Guess it's back to waiting. >From http://blogs.sun.com/jrose/entry/tail_calls_in_the_vm I can at least hope it's not too far away, although it sounds like it'll never happen for method calls looked up with reflection. > The vast majority of tail calls requiring TCO are self-calls handled > by recur. My favorite thing about recur is that the compiler tells you immediately if you accidentally put it somewhere other than in a tail position. You don't have to wait for the stack to overflow in actual use because your test case was too small. I would hope the keyword sticks around even if TCO gets added to the JVM. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---