[PRL] [plt-internal] Video of Clojure talk

Dave Herman dherman at ccs.neu.edu
Thu Oct 2 18:22:39 EDT 2008


> Sun's JVM people came up and thanked me for explaining
> why proper tail recursion really matters.  Guy Steele,
> listening, looked happy.  A couple of weeks later he
> told me he had obtained an agreement to add proper tail
> recursion to the JVM with its next major release.

I suspect that whether tail calls end up in the JVM has little to do 
with whether they are a good thing. It seems more likely to be a 
question of whether clients that matter to Sun are demanding it.

> Now, ten years later, we are
> being asked to trust someone's vague optimism that Sun
> might eventually respond to desires expressed by random
> language designers.

Nobody's asking you to trust anything. This is simply about a design 
decision: Hickey decided not to make Clojure a properly tail calling 
language for perfectly defensible engineering reasons. He acknowledges 
that it was a trade-off, but it was not done in ignorance. However, he's 
hopeful that the JVM will support proper tail calls, at which point 
Clojure would too. But he hasn't promised anything.

That said, Hickey has reason to be optimistic about Sun's newfound 
interest. The market has changed a lot since 1998 -- Sun has much more 
intense competition from the CLR and from other JVM implementations. I'm 
not qualified to make bets as to whether this will happen, but what 
happened in 1998 is not necessarily indicative of what will happen now.

As I say, I have no crystal ball, but there are at least good signs. 
According to the URL Kevin sent us, Fortress, Scala, and Clojure are all 
demanding it, and Sun's team is already working on a new tailcall 
instruction:

     http://blogs.sun.com/jrose/entry/tail_calls_in_the_vm

Dave



More information about the PRL mailing list