Recently, I was in a situation where avoiding a recursive tail-call would have been unavoidable (essentially, I was forced to do a Thread.sleep() call). The fine folks at #clojure
pointed me to recur and it was exactly what the doctor ordered. No stack consumption and ability to make tail calls. FWIW, this was the script:
I have really begun loving this language and maybe this will be the lisp that I will make my primary language of choice.