3 ms·
The fact that it didn't originally is irrelevant. And the fact that you have to provide a flag because of performance is irrelevant. It still remains that Kaw
by SeanLuke 11y ago
The fact that it didn't originally is irrelevant. And the fact that you have to provide a flag because of performance is irrelevant. It still remains that Kawa appears to do full tail call optimization on the JVM. So it can't be that Clojure doesn't do it because the JVM doesn't permit it. So what's really going on here?
- reitzensteinm 11y agoPerformance isn't irrelevant to the question of "what's really going on here". If it costs too much at run time, Clojure absolutely should not implement it. Lack of TCO isn't that big of a deal.
- kuschku 11y agoKawa emulates it by adding overhead that interprets and replaces code with loops. Clojure is instead waiting for a solution on JVM-level.